为什么调试会在IIS7中保持超时?

mrb*_*lah 50 iis-7 visual-studio windows-7

当我在Windows 7 IIS7机器上进行调试时,我在调试期间收到此错误:

正在调试的Web服务器进程已由IIS终止.通过在IIS中配置应用程序池设置可以避免这种情况.请参阅帮助了解更多详情.

我究竟做错了什么?

Por*_*man 92

死图像链接

在进行调试时,在完成代码处理之前,IIS将不会为任何其他请求提供服务.这包括IIS发送给自己的"ping"请求.由于IIS没有收到回复信息,因此决定自行关闭,这会立即终止调试.

解决方案是将应用程序池设置中的Ping最大响应时间从其默认值90秒增加.将它设置为足够高的值,可以给你足够的时间来调试你的代码(比如300秒).

微软在这里写了一篇冗长的文章,或者你可以看一下漂亮的图片.

-

编辑:其他人建议将"Ping Enabled"设置为false.有几个原因可以解释为什么我希望将它保持在适当的位置,只需要更大的间隔,但最重要的是你将(最有可能)在生产时启用工作程序处理ping,并且你应该努力在配置下进行开发和调试这是尽可能接近生产.如果您没有在生产中启用ping,那么一定要在本地禁用它.

  • @Paul Betts:因为你想尽可能地反映生产.当您真正需要的是增加ping间隔时,完全禁用ping有点严厉. (2认同)