Ето препоръчителния модел от документацията на 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;
}
}
Няколко важни точки:
- Използва Lazy
за обработка на безопасна за нишки инициализация - Задава „abortConnect=false“, което означава, че ако първоначалният опит за свързване е неуспешен, ConnectionMultiplexer ще опита отново безшумно във фонов режим, вместо да хвърли изключение.
- Това не проверете свойството IsConnected, тъй като ConnectionMultiplexer автоматично ще опита отново във фонов режим, ако връзката бъде прекъсната.