在Owin应用程序启动时连接到Azure Redis缓存......
var options = ConfigurationOptions.Parse(cacheConnectionString);
var kernel = new StandardKernel();
kernel.Bind<ConnectionMultiplexer>().ToMethod(context =>
{
return ConnectionMultiplexer.Connect(options);
}).InSingletonScope();
对于在我的本地计算机上运行的Redis,或者关闭了已关闭SSL的Azure Redis,它可以正常工作。但是,只要我从:
更改连接字符串 xyz.redis.cache.windows.net,ssl=false,password=abcdefghxyz=
到
xyz.redis.cache.windows.net,ssl=true,password=abcdefghxyz=
它抛出:
无法连接到redis服务器;要创建断开连接的多路复用器,请禁用AbortOnConnectFail。 PING上的UnableToResolvePhysicalConnection
我正在使用NuGet的StackExchange.Redis版本1.0.316.0。我试过了......
我现在所有的想法都可能出现问题。希望这是我错过的一些微不足道的事情,但是我们无法看到它!
修改
我运行了ConnectToAzure()
单元测试,传入了我的缓存名称和密码,然后通过了。所以我几乎肯定在这里做些傻事。
编辑2
它也适用于控制台应用程序,没有任何问题。
答案 0 :(得分:2)
我修好了,非常奇怪的情况,但我会回答,以防万一其他人一直坐得像我一样困惑。
该项目以前是Azure云服务中的Web角色,该服务启用了角色内缓存。我们将其移至独立的Azure Web App,但从未解决过删除所有不必要的引用。
删除Microsoft.WindowsAzure.ServiceRuntime
和Microsoft.WindowsAzure.Diagnostics
奇迹般地让它发挥作用。