iis 7 停止侦听器通道

Sum*_*rak 5 iis-7 iis-8

对于需要超过 7-10 分钟才能完成的任何页面,我在 iis 7 中收到以下错误:

为应用程序池“xxxxxx”提供服务的工作进程“xxxx”未能在分配的时间内停止协议“http”的侦听器通道。

为什么 iis 停止侦听器通道?我怎样才能增加分配的时间?我是不是该?或者这是否表明另一个问题?

Ada*_*and 4

IIS 定期(默认情况下,每 30 秒)对工作进程执行 ping 操作,以确保它仍然具有响应能力。您的工作进程可能太忙而无法响应 ping,因此 IIS 会尝试终止它。当 IIS 尝试终止该进程时,它会失败,因为该进程仍然挂在内存区域上。

进入 IIS,单击“应用程序池”,然后右键单击您的应用程序池并选择“高级设置”。在“流程模型”标题下,选择“启用 Ping”旁边的“假”,看看是否可以解决问题。另一种选择是增加 Ping 最大响应时间。

IIS7应用程序池高级设置的图像

至于这是否预示着一个更大的问题,我会说是的,确实如此。这种类型的代码似乎不适合同步执行。您可能需要考虑将任务传递给将执行异步回调的 Windows 服务,或者研究 IIS 的异步模型 (System.Threading)。对于 stackoverflow 来说,如何做到这一点可能是一个更好的问题。

  • 啊,发现问题了。我触发了 RAM 限制并回收了应用程序。谢谢您的帮助。 (2认同)