gpt4 book ai didi

c# - 集线器内的 SignalR 静态对象使背板重新连接失败

转载 作者:可可西里 更新时间:2023-11-01 11:27:52 30 4
gpt4 key购买 nike

我们已经实现了一个带有背板的服务器,其中有超过 100 个客户端正在连接。但是当我们对其进行测试时,我们发现每当客户端断开连接时,他们都无法重新连接。我们还注意到 w3wp.exe 使用了大量线程(超过 5000),然后 IIS 崩溃。

为了确定造成这种情况的原因,我们清理了集线器,发现当记录器类被移除时,背板可以正常工作。我们使用了 NLog 记录器并将其启动为静态记录器。

private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();

为了确认 NLog 是否有问题,我们在集线器类中创建了另一个静态对象,但它也显示出同样高的线程使用率。因此,似乎只要有静态对象,客户端就无法重新连接,并且 w3wp.exe 服务中的线程使用率很高。造成这种情况的原因是什么?

PS- 我们使用 SQL 和 Redis 底板进行了测试,结果完全相同。

最佳答案

问题不在于使用集线器内的静态对象,而是使用 NLogTraceListener 进行日志信号器跟踪。

关于c# - 集线器内的 SignalR 静态对象使背板重新连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44105305/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com