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