相关疑难解决方法(0)

无法通过 StackExchange.Redis 重新连接到 Azure Redis

警告:好的,所以这是一个奇怪的地方,我不确定 SO 是否是正确的地方。

我有一个连接到 Azure Redis 缓存实例的 Azure 网站。(使用 StackExchange.Redis)

一切都很好,然后有一天 - 该网站无法连接到 Redis。

错误:

无法连接到 redis 服务器;要创建断开连接的多路复用器,请禁用 AbortOnConnectFail。PING 上的 SocketFailure

这是我的连接字符串:

mycache.redis.cache.windows.net,ssl=true,password=xxxxxx,syncTimeout=5000

以下是我的诊断步骤:

  1. 尝试从本地连接到 Azure Redis。结果:成功(所以代码很好?)
  2. 尝试启动新的 Azure Redis 实例,从 Azure 连接。结果:失败(网站无法连接到任何 azure Redis 实例?)
  3. Spinup 新 Azure 网站,代码与错误代码相同,指向现有的 Redis 缓存。结果:成功(嗯,什么?)
  4. 新建MVC网站,添加StackExchange.Redis,部署到新的Azure网站,连接Redis。结果:成功(所以 Redis 好?)
  5. 将上面的 vanilla MVC 网站部署到现有的Azure 网站(因此与 4 相同的代码,连接到相同的 Redis,唯一的区别是它使用旧的 Azure 网站物理机/网络)。结果:失败(wtf??)

所以 - 我在想 Redis 已将 Azure 网站“列入黑名单”?(这甚至可能吗?)我知道客户端(我的代码)不会尝试继续重新连接,但我已经多次访问该站点,但它无法重新连接到 Redis。

启动一个新的Azure 网站,使用相同的代码连接到同一个 Redis 实例会成功,这一事实告诉我,Azure/Redis 中出现了某种黑名单/路由问题。

有任何想法吗? …

.net redis stackexchange.redis azure-redis-cache azure-web-app-service

5
推荐指数
1
解决办法
2457
查看次数