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"));
我目前在 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"));