终于崩溃并寻求帮助,我的客户/ iis(不确定哪个)通常会在大约30秒-1分钟后超时我调试(踩代码)这不仅导致我失去了我的位置而且必须重新开始(通常步进更快,犯更多错误)但IIS调试会话完全关闭,我必须再次热身整个会话。
从调试会话中获得更多时间的最佳方法是什么?
在IIS 7.5 Classic Pipeline上调试vanilla 3.5 Web 站点(不是应用程序)
答案 0 :(得分:36)
如果将连接限制设置得足够高,则设置连接限制。我想再也不会被这个打扰了。 Here就是我所做的:
这假设您已在IIS管理器中选择了IIS应用程序池
...在“高级设置”对话框中,找到“处理模型”部分,然后执行以下操作之一:
- 将Ping设置为False。
- 将Ping最大响应时间设置为大于90秒的值。
醇>将Ping Enabled设置为False会阻止IIS检查工作进程是否仍在运行,并在您停止调试进程之前保持工作进程处于活动状态。将Ping最大响应时间设置为较大值允许IIS继续监视工作进程。
答案 1 :(得分:5)
您应该暂时更改web.config中的httpRuntime executionTimeout属性,而不是更改IIS中的应用程序池设置。默认值为110秒,这通常是充足的时间,但如果您正在调试则不会。增加超时将允许对服务器的请求运行更长时间。
<system.web>
<httpRuntime executionTimeout="360" />
</system.web>
将其设置为6分钟(360秒)。
完成调试后,您可以删除该属性,IIS将恢复为默认值。
答案 2 :(得分:2)
请注意,如果您使用的是ScriptManager(例如,更新面板),它会使用自己设置的超时时间:
<asp:ScriptManager ID="ScriptManager1" AsyncPostBackTimeout="???" ...
</asp:ScriptManager>
我建议您仅在调试时将其设置为高值。您可以在存在scriptmanager控件的页面的pageload事件中执行此操作:
If Debugger.IsAttached Then
ScriptManager1.AsyncPostBackTimeout = 600
End If