C# 部署到服务器后无法连接azure redis缓存

C# 部署到服务器后无法连接azure redis缓存,c#,azure,stackexchange.redis,C#,Azure,Stackexchange.redis,无法连接到some-prod.redis.cache.windows.net:6380/Interactive,initialization/NotStarted,last:NONE,origin:BeginConnectAsync,杰出:0,上次读取:5秒前,上次写入:5秒前,保持活动:60秒,状态:连接,管理器:10个可用,上次心跳:从不,全局:5秒前,v:2.1.58.34321 我正试图建立这样的联系 私有静态惰性azureRedisCacheConnection=新惰性(()=> {

无法连接到some-prod.redis.cache.windows.net:6380/Interactive,initialization/NotStarted,last:NONE,origin:BeginConnectAsync,杰出:0,上次读取:5秒前,上次写入:5秒前,保持活动:60秒,状态:连接,管理器:10个可用,上次心跳:从不,全局:5秒前,v:2.1.58.34321 我正试图建立这样的联系

私有静态惰性azureRedisCacheConnection=新惰性(()=> { 返回ConnectionMultiplexer.Connect(AzureRedisCacheConfiguration.Instance.ConnectionString); });


[RedisConnectionException:UnableToConnect on some-prod.redis.cache.windows.net:6380/Interactive,Initializing/NotStarted,last:NONE,origin:BeginConnect异步,未完成:0,上次读取:5秒前,上次写入:5秒前,保持活动:60秒,状态:连接,管理器:10可用,上次心跳:从不,全局:5秒前,v:2.1.58.34321]
[RedisConnectionException:没有活动/可用的连接来服务此操作:EVAL;无法在某些.redis.cache.windows.net上连接:6380/Interactive,初始化/未启动,最后:无,源代码:BeginConnectionAsync,未完成:0,上次读取:5秒前,上次写入:5秒前,保持活动:60秒,状态:正在连接,管理器:10个可用,最后一次听到tbeat:never,global:5s前,v:2.1.58.34321,mc:1/1/0,经理:10个可用,客户名称:INNOWIN134106,IOCP:(忙=0,闲=1000,最小=8,最大=1000),工作者:(忙=1,空闲=32766,最小=8,最大=32767),v:2.1.58.34321]
StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl(消息消息,ResultProcessor`1处理器,ServerEndPoint服务器)+394
StackExchange.Redis.RedisBase.ExecuteSync(消息消息,ResultProcessor`1处理器,ServerEndPoint服务器)+166
StackExchange.Redis.RedisDatabase.ScriptEvaluate(字符串脚本、RedisKey[]键、RedisValue[]值、CommandFlags)+190
Microsoft.Web.Redis.c__在c:\TeamCity\buildAgent\work\59b31e8e4035fd30\src\Shared\StackExchangeClientConnection.cs:68中显示Class7_0.b__0()
C:\TeamCity\buildAgent\work\59b31e8e4035fd30\src\Shared\StackExchangeClientConnection.OperationExecutor(Func`1 redisOperation)中的Microsoft.Web.Redis.StackExchangeClientConnection.Operation
C:\TeamCity\buildAgent\work\59b31e8e4035fd30\src\Shared\StackExchangeClientConnection.RetryLogic(Func`1 redisOperation)中的Microsoft.Web.Redis.StackExchangeClientConnection.RetryLogic
C:\TeamCity\buildAgent\work\59b31e8e4035fd30\src\Shared\StackExchangeClientConnection.cs:68中的Microsoft.Web.Redis.StackExchangeClientConnection.Eval(字符串脚本,字符串[]键参数,对象[]值参数)
C:\TeamCity\buildAgent\work\59b31e8e4035fd30\src\RedisessionStateProvider\RedisConnectionWrapper.Set(ISessionStateItemCollection数据,Int32 sessionTimeout)中的Microsoft.Web.Redis.RedisConnectionWrapper.Set(ISessionStateCollection数据,Int32 sessionTimeout)。cs:137
C:\TeamCity\buildAgent\work\59b31e8e4035fd30\src\RedisessionStateProvider\RedisessionStateProvider.cs:433中的Microsoft.Web.Redis.d_u25.MoveNext()
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()+31
System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务)+68
Microsoft.AspNet.SessionState.d_u80.MoveNext()+809
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()+31
System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务)+68
Microsoft.AspNet.SessionState.TaskAsyncHelper.EndTask(IAsyncResult ar)+58
System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+510
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep步骤)+213
System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)+172

我认为连接字符串应该附加
,allowAdmin=true
。那只是我的猜测

一般来说,您应该在防火墙中添加规则

故障排除。

您可以使用调试模型delpoy您的webapp,并且可以使用远程调试捕获错误

你可以。我的示例代码已经过测试,您可以试试

更多细节,你可以在另一篇文章中阅读我的答案


在本地,它的工作原理是您将应用程序部署到哪个Azure服务?KrishnenduGhosh MSFT简单地说,我只是.net mvc应用程序部署到一些机器上。您可以用一些代码开始您的帖子,显示您如何尝试连接,而不仅仅是错误消息吗?这不是很有帮助。还有一些信息,比如:你在使用SSL吗?您的服务器是否仅强制SSL?KrishnenduGhosh MSFT redis.cache.windows.net:6380,密码=xxxxxxx y=,SSL=True,中止连接=False“
    public static ConnectionMultiplexer RedisCacheConnection
    {
        get
        {
            return azureRedisCacheConnection.Value;
        }
    }

[RedisConnectionException: UnableToConnect on some-prod.redis.cache.windows.net:6380/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 5s ago, last-write: 5s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 5s ago, v: 2.1.58.34321]

[RedisConnectionException: No connection is active/available to service this operation: EVAL; UnableToConnect on Some.redis.cache.windows.net:6380/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 5s ago, last-write: 5s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 5s ago, v: 2.1.58.34321, mc: 1/1/0, mgr: 10 of 10 available, clientName: INNOWIN134106, IOCP: (Busy=0,Free=1000,Min=8,Max=1000), WORKER: (Busy=1,Free=32766,Min=8,Max=32767), v: 2.1.58.34321]
   StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl(Message message, ResultProcessor`1 processor, ServerEndPoint server) +394
   StackExchange.Redis.RedisBase.ExecuteSync(Message message, ResultProcessor`1 processor, ServerEndPoint server) +166
   StackExchange.Redis.RedisDatabase.ScriptEvaluate(String script, RedisKey[] keys, RedisValue[] values, CommandFlags flags) +190
   Microsoft.Web.Redis.<>c__DisplayClass7_0.<Eval>b__0() in C:\TeamCity\buildAgent\work\59b31e8e4035fd30\src\Shared\StackExchangeClientConnection.cs:68
   Microsoft.Web.Redis.StackExchangeClientConnection.OperationExecutor(Func`1 redisOperation) in C:\TeamCity\buildAgent\work\59b31e8e4035fd30\src\Shared\StackExchangeClientConnection.cs:86
   Microsoft.Web.Redis.StackExchangeClientConnection.RetryLogic(Func`1 redisOperation) in C:\TeamCity\buildAgent\work\59b31e8e4035fd30\src\Shared\StackExchangeClientConnection.cs:122
   Microsoft.Web.Redis.StackExchangeClientConnection.Eval(String script, String[] keyArgs, Object[] valueArgs) in C:\TeamCity\buildAgent\work\59b31e8e4035fd30\src\Shared\StackExchangeClientConnection.cs:68
   Microsoft.Web.Redis.RedisConnectionWrapper.Set(ISessionStateItemCollection data, Int32 sessionTimeout) in C:\TeamCity\buildAgent\work\59b31e8e4035fd30\src\RedisSessionStateProvider\RedisConnectionWrapper.cs:137
   Microsoft.Web.Redis.<SetAndReleaseItemExclusiveAsync>d__25.MoveNext() in C:\TeamCity\buildAgent\work\59b31e8e4035fd30\src\RedisSessionStateProvider\RedisSessionStateProvider.cs:433
   System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +31
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +68
   Microsoft.AspNet.SessionState.<ReleaseStateAsyncImpl>d__80.MoveNext() +809
   System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +31
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +68
   Microsoft.AspNet.SessionState.TaskAsyncHelper.EndTask(IAsyncResult ar) +58
   System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +510
   System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +213
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +172