我在 IIS 8.5.9600.16384 中有一个网站,我们通过循环同步和 SignalR 2.3.0 与数千个移动设备进行通信。
今天早上,我们在工作时间重置了应用程序池,这导致 SignalR 同时调用我们所有移动设备的“OnReconnect”。
我认为 IIS 首先启动新进程,然后杀死旧进程,没有停机时间。
有人能告诉我当 IIS 在 SignalR 端回收它的应用程序池时会发生什么吗?在哪些情况下会出现连接中断?(例如:如果服务器很忙?)
编辑:由于“时间限制”,IIS 回收了应用程序池。IT 团队将更改此设置,以便应用程序池在每天晚上重置,这将对我们的应用程序产生较小的影响。
A worker process with process id of '8720' serving application pool 'DefaultAppPool' has requested a recycle because the worker process reached its allowed processing time limit.
还确认 disallowOverlappingRotation 未设置为 True。任何提示都会有所帮助。
几年后,我仍然遇到应用程序池回收和 SignalR 的一些问题。当应用程序池回收时,我们偶尔会看到数千个 SignalR 重新连接,打开超过 60k TCPIP 端口并导致 IIS 崩溃。
我们设法让它“正常”运行了很长一段时间,但它仍然崩溃。任何提示都会有所帮助。谢谢