我目前正在Azure上托管我的redis缓存服务器,并且signalR依赖它作为主干使用以下内容......
GlobalHost.DependencyResolver.UseRedis("服务器",端口"密码"" eventKey&#34);
这可以在端口6379(非SSL)上找到,但是当我尝试连接到Azure Redis服务器的SSL端口(6380)时,我的聊天应用程序中断了,并且集线器从未启动过。这个问题可能是什么原因?或者我做错了什么?
这是我浏览器中/ signalr / connect上显示的错误 净:: ERR_CONNECTION_RESET
答案 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。 一旦我删除了那部分,事情就开始为我工作了。