Hier ist das empfohlene Muster aus der Azure Redis Cache-Dokumentation:
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;
}
}
Ein paar wichtige Punkte:
- Es verwendet Lazy
, um die Thread-sichere Initialisierung zu handhaben - Es setzt "abortConnect=false", was bedeutet, dass der ConnectionMultiplexer, wenn der anfängliche Verbindungsversuch fehlschlägt, es stillschweigend im Hintergrund erneut versucht, anstatt eine Ausnahme auszulösen.
- Tut es nicht Überprüfen Sie die IsConnected-Eigenschaft, da ConnectionMultiplexer im Hintergrund automatisch einen neuen Versuch unternimmt, wenn die Verbindung unterbrochen wird.