SignalR 无法连接到 SSL 上的 Azure Redis

SignalR cannot connect to Azure Redis on SSL

我目前在 Azure 上托管我的 redis 缓存服务器,并让 signalR 依赖它作为 backbone 使用以下...

GlobalHost.DependencyResolver.UseRedis("Server",端口,"password","eventKey");

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

这是我浏览器 /signalr/connect 上出现的错误 net::ERR_CONNECTION_RESET

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

连接字符串类似于:

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

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

如果其他人遇到此问题,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"));