SignalR无法连接到SSL上的Azure Redis

时间:2015-04-10 20:35:25

标签: redis signalr signalr-hub signalr-backplane azure-redis-cache

我目前正在Azure上托管我的redis缓存服务器,并且signalR依赖它作为主干使用以下内容......

GlobalHost.DependencyResolver.UseRedis("服务器",端口"密码"" eventKey&#34);

这可以在端口6379(非SSL)上找到,但是当我尝试连接到Azure Redis服务器的SSL端口(6380)时,我的聊天应用程序中断了,并且集线器从未启动过。这个问题可能是什么原因?或者我做错了什么?

这是我浏览器中/ signalr / connect上显示的错误 净:: ERR_CONNECTION_RESET

3 个答案:

答案 0 :(得分:17)

你可以试试这个: GlobalHost.DependencyResolver.UseRedis(new RedisScaleoutConfiguration(connectionString, "YourServer"));

和连接字符串类似:

的connectionString =" yourNameHere.cache.windows.net,SSL =真,密码= YourPasswordKey"

确保您使用的是使用StackExchange.Redis构建的SignalR(最新的内容;)

答案 1 :(得分:1)

我将信号器核心库升级到版本2.2.3.0并使用以下语法,就像一个魅力。

var redisServer = ConfigurationManager.AppSettings[Constants.RedisServer].ToString();

var redisServerPassword = ConfigurationManager.AppSettings[Constants.RedisServerPassword].ToString();

var connectionString = $"{redisServer},password={redisServerPassword},ssl=True,abortConnect=False";
GlobalHost.DependencyResolver.UseRedis(new RedisScaleoutConfiguration(connectionString, "APIIdentifierString"));

答案 2 :(得分:0)

如果有其他人遇到此问题,Azure门户提供的默认连接字符串似乎包含abortConnect = False。 一旦我删除了那部分,事情就开始为我工作了。