Este es el patrón recomendado, de la documentación de Azure Redis Cache:
private static Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() => {
return ConnectionMultiplexer.Connect("mycache.redis.cache.windows.net,abortConnect=false,ssl=true,password=...");
});
public static ConnectionMultiplexer Connection {
get {
return lazyConnection.Value;
}
}
Algunos puntos importantes:
- Utiliza Lazy
para manejar la inicialización segura para subprocesos - Establece "abortConnect=false", lo que significa que si falla el intento de conexión inicial, ConnectionMultiplexer volverá a intentarlo silenciosamente en segundo plano en lugar de lanzar una excepción.
- No no compruebe la propiedad IsConnected, ya que ConnectionMultiplexer volverá a intentarlo automáticamente en segundo plano si se interrumpe la conexión.