我在IIS 8.5.9600.16384中拥有一个网站,我们通过循环同步和SignalR 2.3.0与成千上万的移动设备进行通信。
今天早上,我们在工作时间内重置了应用程序池,这导致SignalR同时调用我们所有移动设备的“ OnReconnect”。
我虽然IIS首先启动了新进程,然后杀死了旧进程,但没有停机时间。
有人可以告诉我IIS在SignalR端回收其应用程序池时会发生什么情况吗?在哪些情况下会导致连接停机? (例如:如果服务器忙吗?)
已编辑:由于“时间限制”,IIS回收了应用程序池。 IT团队将更改此设置,以使应用程序池每天晚上重置,这将对我们的应用程序产生较小的影响。
mobx-react
还确认disallowOverlappingRotation未设置为True。任何提示都会有所帮助。
答案 0 :(得分:1)
我首先要确定IIS是如何重置的。如果您遇到了崩溃或执行了IISReset,则这些进程将被关闭,然后再备份一个新的进程。另一方面,如果您配置了AppPool回收,那么重叠的过程应该按照您提到的方式进行。我将检查系统事件日志中是否有回收消息。请注意,默认情况下并非记录所有回收原因。
您还可以检查以确保未将disallowOverlappingRotation设置为True。
指定在该进程关闭时WWW服务是否应启动另一个工作进程来替换现有工作进程。如果工作进程加载了不支持多个工作进程的应用程序代码,则此属性的值应设置为true。 https://docs.microsoft.com/en-us/iis/configuration/system.applicationhost/applicationpools/add/recycling/