信号器无法连接到SSL上的Azure Redis

信号器无法连接到SSL上的Azure Redis,redis,signalr,signalr-hub,signalr-backplane,azure-redis-cache,Redis,Signalr,Signalr Hub,Signalr Backplane,Azure Redis Cache,我目前在Azure上托管我的redis缓存服务器,并让Signaler将其作为主干,使用以下命令 GlobalHost.DependencyResolver.UseRedis(“服务器”、端口、“密码”、“事件密钥”) 这可以在端口6379(非SSL)上找到,但当我尝试连接到Azure Redis服务器的SSL端口(6380)时,我的聊天应用程序中断,并且集线器从未启动。这个问题的原因可能是什么?还是我做错了什么 这是出现在我的浏览器中的/signalr/connect上的错误 net::ERR

我目前在Azure上托管我的redis缓存服务器,并让Signaler将其作为主干,使用以下命令

GlobalHost.DependencyResolver.UseRedis(“服务器”、端口、“密码”、“事件密钥”)

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

这是出现在我的浏览器中的/signalr/connect上的错误 net::ERR\u CONNECTION\u RESET

您可以尝试以下方法:

GlobalHost.DependencyResolver.UseRedis(新的重新缩放配置(connectionString,“YourServer”);

和连接字符串类似:

connectionString=“yourNameHere.cache.windows.net,ssl=true,password=YourPasswordKey”


确保您使用的是StackExchange.Redis(最新版本为gratest;)

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

我将signalr核心库升级到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"));

美好的事实上,那天我确实用了和你上面概述的方法一样的方法。升级了所有信号器包,并且能够直接使用连接字符串!下面的帖子让我找到了这个解决方案:您可能想在连接字符串中添加一个端口号。e、 g.“yourServerNameHere.cache.windows.net:yourportnumberher,ssl=true,password=yourspasswordkey”仅供参考,我们在连接字符串中使用abortConnect=False,它可以工作。