Я никогда не могу сохранить строковое значение в Azure размещенном Redis Cache. Использование StackExchange.Redis версии 2.0.601 и vs2015 и vs2019. Приведенный ниже код содержит ошибку в комментариях (в основном даже при успешном подключении ConnectionMultiplexer. Соединение там не установлено).
static bool Connect()
{
ConnectionMultiplexer redis;
try
{
ConfigurationOptions cfgOptions = new ConfigurationOptions
{
EndPoints =
{
{"RedisOnMyAzureServer", myPort}
},
AbortOnConnectFail = false,
Ssl = true,
ConnectRetry = 3,
ConnectTimeout = 10000,
SyncTimeout = 10000,
DefaultDatabase = 0,
Password = "myPassword"
};
redis = ConnectionMultiplexer.Connect(cfgOptions); // takes 10.5 seconds on average
}
catch
{ return false; } // never errors
// some diagnostics follow
if (redis.IsConnected)
Console.WriteLine("client connection open");
else
Console.WriteLine("client connection closed");
if (redis.GetDatabase().IsConnected(default(RedisKey)))
Console.WriteLine("database connection open");
else
Console.WriteLine("database connection closed");
// both connection are always closed.
try
{
IDatabase db = redis.GetDatabase();
db.StringSet("mykey", "value");
}
catch
{ return false; } // always errors
return true;
}
Ошибки при последней попытке / обнаружении в методе db.StringSet. Я получаю это сообщение:
Нет доступных соединений для обслуживания этой операции: SET mykey; Операция блокировки была прервана вызовом WSACancelBlockingCall; IOCP: (Занято = 0, Свободно = 1000, Мин = 4, Макс = 1000), РАБОЧИЙ: (Занято = 2, Свободно = 1021, Мин = 4, Макс = 1023), Локальный процессор: н / д