2015-03-13 8 views
5

Sto cercando di fare un semplice esempio di lettura e scrittura dalla cache Redis azzurro e ottengo questo erroreNon è stato possibile collegarsi al server Redis (s); per creare un multiplexer disconnesso, disabilitare AbortOnConnectFail. SocketFailure su Ping

Un'eccezione di tipo 'StackExchange.Redis.RedisConnectionException' si è verificato in StackExchange.Redis.dll ma non è stata gestita nel codice utente

Ulteriori informazioni: non è stato possibile collegarsi al server Redis (s); per creare un multiplexer disconnesso, disabilitare AbortOnConnectFail. SocketFailure su Ping

Il codice che sto usando è questo, ho cambiato dns e la password

// Get Connection instance 
ConnectionMultiplexer connection = ConnectionMultiplexer 
    .Connect("xx.redis.cache.windows.net,ssl=false,password=..."); 
// Get database 
IDatabase databaseCache = connection.GetDatabase(); 
// Add items 
databaseCache.StringSet("foo1", "1"); 
databaseCache.StringSet("foo2", "2"); 
// Add items with experation value 
databaseCache.StringSet("foo3", "3", TimeSpan.FromMinutes(20)); 

Stopwatch sw = new Stopwatch(); 

sw.Start(); 

// Get item value 
string foo1Value = databaseCache.StringGet("foo1"); 

sw.Stop(); 

Console.WriteLine("Elapsed={0}", sw.Elapsed); 
return View(); 
+0

Inoltre, prova a cercare la soluzione qui: http://stackoverflow.com/questions/30906891/cant-reconnect-to-azure-redis-via-stackexchange-redis/32852922#32852922 – Nigrimmist

risposta

6

Azure Redis Cache consente solo l'endpoint SSL per impostazione predefinita. L'approccio più sicuro è impostare "ssl = true" quando si chiama ConnectionMultiplexer.Connect().

In alternativa, è possibile utilizzare il portale di Azure per abilitare l'endpoint non SSL nella cache di Redis di Azure, ma la password e tutti i dati verranno inviati in chiaro.

+0

Questo potrebbe essere il duplicato di http : //stackoverflow.com/questions/28725437/azure-redis-unable-to-connect-to-redis-servers/29837033#29837033 – yantaq

5

ho avuto esattamente lo stesso fa eccezione e si è rivelato essere aziendale firewall, che sta bloccando la porta 6379, 6380.

Ho copiato il mio test console app in un ambiente esterno rete aziendale e la connessione ha avuto successo. Quindi, se il server Redis è in esecuzione su internet e la rete è dietro un firewall assicurarsi che le porte sono aperte.

+0

come un'osservazione: 6380 porta per SSL. 6379 porta per connessione non SSL. – Nigrimmist

Problemi correlati