Sumrak Asked: 2009-07-07 14:45:07 +0800 CST2009-07-07 14:45:07 +0800 CST 2009-07-07 14:45:07 +0800 CST iis 7 停止侦听器通道 772 对于需要超过 7-10 分钟才能完成的任何页面,我在 iis 7 中收到以下错误: 服务应用程序池“xxxxxx”的工作进程“xxxx”未能在分配的时间内停止协议“http”的侦听器通道。 为什么要停止侦听器频道?我怎样才能增加这个分配的时间?我是不是该?或者这是另一个问题的迹象? iis-7 iis-8 1 个回答 Voted Adam Brand 2009-07-07T16:18:57+08:002009-07-07T16:18:57+08:00 IIS 定期 ping 一个工作进程(默认情况下,每 30 秒)以确保它仍然响应。您的工作进程可能太忙而无法响应 ping,因此 IIS 会尝试终止它。当 IIS 试图终止进程时,它会失败,因为进程仍然挂在内存区域上。 进入 IIS,单击应用程序池,然后右键单击您的应用程序池并选择高级设置。在 Process Model 标题下,选择 Ping Enabled 旁边的 False 并查看是否可以解决问题。另一种选择是增加 Ping 最大响应时间。 至于这是否预示着更大的问题,我会说是的,确实如此。这种类型的代码似乎不适合同步执行。您可能需要考虑将任务传递给将执行异步回调的 Windows 服务,或研究 IIS 的异步模型 (System.Threading)。对于stackoverflow,如何做到这一点可能是一个更好的问题。
IIS 定期 ping 一个工作进程(默认情况下,每 30 秒)以确保它仍然响应。您的工作进程可能太忙而无法响应 ping,因此 IIS 会尝试终止它。当 IIS 试图终止进程时,它会失败,因为进程仍然挂在内存区域上。
进入 IIS,单击应用程序池,然后右键单击您的应用程序池并选择高级设置。在 Process Model 标题下,选择 Ping Enabled 旁边的 False 并查看是否可以解决问题。另一种选择是增加 Ping 最大响应时间。
至于这是否预示着更大的问题,我会说是的,确实如此。这种类型的代码似乎不适合同步执行。您可能需要考虑将任务传递给将执行异步回调的 Windows 服务,或研究 IIS 的异步模型 (System.Threading)。对于stackoverflow,如何做到这一点可能是一个更好的问题。