Il n'était pas possible de se connecter au (x) serveur (s) redis; créer un multiplexeur déconnecté [c#]


Answers

Vous devriez également faire attention à la dernière partie de votre message d'erreur, car il semble fournir des détails très utiles sur la raison pour laquelle la connexion a échoué.

Dans ton cas:

Il n'était pas possible de se connecter au (x) serveur (s) redis; Pour créer un multiplexeur déconnecté, désactivez AbortOnConnectFail. UnableToResolvePhysicalConnection sur PING

Mon cas:

Il n'était pas possible de se connecter au (x) serveur (s) redis; Pour créer un multiplexeur déconnecté, désactivez AbortOnConnectFail. Temps libre

Question

J'ai le morceau de code suivant pour me connecter au cache redis azure.

   public class CacheConnectionHelper
    {
        private static Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() =>
        {
            return ConnectionMultiplexer.Connect(SettingsHelper.AzureRedisCache);
        });

        public static ConnectionMultiplexer Connection
        {
            get
            {
                return lazyConnection.Value;
            }
        }
    }

Et je l'utilise de cette façon

public static List<Models.Module> GetModules()
        {
            IDatabase cache = CacheConnectionHelper.Connection.GetDatabase();
            List<Models.Module> listOfModules = new List<Models.Module>();
            listOfModules = (List<Models.Module>)cache.Get("ApplicationModules");
            if (listOfModules == null)
            {
                listOfModules = dbApp.Modulos.ToList();
                cache.Set("ApplicationModules", listOfModules, TimeSpan.FromMinutes(SettingsHelper.CacheModuleNames));
                return listOfModules;
            }
            else {
                return listOfModules;
            }
        }

Cependant 1 ou 2 fois par jour je reçois cette exception:

 Additional information: It was not possible to connect to the redis server(s); to create a disconnected multiplexer, disable AbortOnConnectFail. UnableToResolvePhysicalConnection on PING

La question est comment puis-je refactoriser ce code pour aller à la base de données dans le cas où la connexion de cache échoue?