StackExchange.Redis.StrongName.dll!StackExchange.Redis.SocketManager.WriteAllQueues()

StackExchange.Redis.StrongName.dll!StackExchange.Redis.SocketManager.WriteAllQueues(),redis,stackexchange.redis,Redis,Stackexchange.redis,在我们的webapi代码中,我们使用signar和redis背板。我发现我们的代码在某个时间后挂起的问题 StackExchange.Redis.StrongName.dll!StackExchange.Redis.SocketManager.WriteAllQueues()第288行 实际上,缓存数据的代码是有效的(我可以看到数据在redis服务器中被填充),但在web请求/响应耦合之后,代码挂起。我已经安装了最新的软件包“StackExchange.Redis 1.1.608”。不幸的是,在

在我们的webapi代码中,我们使用signar和redis背板。我发现我们的代码在某个时间后挂起的问题

StackExchange.Redis.StrongName.dll!StackExchange.Redis.SocketManager.WriteAllQueues()第288行

实际上,缓存数据的代码是有效的(我可以看到数据在redis服务器中被填充),但在web请求/响应耦合之后,代码挂起。我已经安装了最新的软件包“StackExchange.Redis 1.1.608”。不幸的是,在VS中,当我点击break all时,我在堆栈中看不到我的代码

任何可能有问题的想法,或者在哪里寻找问题。我希望我能在这里提供更多的细节,但这就是我所得到的。谢谢

这是我在VS中点击BreakAll时线程的快照 [线程]:

这些线程用于读取和写入连接到Redis的套接字

写入线程在内部被阻塞是正常的,因为它正在调用。当有工作要做时,线程将被唤醒


读取线程可能会阻止从套接字读取,但我在源代码中找不到发生这种情况的地方。

这里也一样。我刚刚检查了内存转储并检测到了相同的问题。作为解决方法,我将释放连接并重新创建它。不过,我会更仔细地检查。