最后分手和寻求帮助,我的客户端/ iis(不知道哪个)通常超过约30s - 1分钟时,即时调试(通过代码步进),这不仅导致我失去我的位置,必须重新开始(通常更快,犯更多的错误),但IIS调试会话完全关闭,我必须再次预热整个会话。ASP.NET调试时间与IIS
从调试会话中获得更多时间的最佳方式是什么?如果你将它设置得足够高
调试在IIS 7.5经典管道
最后分手和寻求帮助,我的客户端/ iis(不知道哪个)通常超过约30s - 1分钟时,即时调试(通过代码步进),这不仅导致我失去我的位置,必须重新开始(通常更快,犯更多的错误),但IIS调试会话完全关闭,我必须再次预热整个会话。ASP.NET调试时间与IIS
从调试会话中获得更多时间的最佳方式是什么?如果你将它设置得足够高
调试在IIS 7.5经典管道
香草3.5网页网站(不应用)设置连接限制的作品。我想再也不会为此感到困扰。 Here是我做过什么:
这里假设你已经有了在IIS管理器
选择的IIS应用程序池......在高级设置对话框中,找到流程模型部分,执行以下操作之一:
- 将Ping Enabled设置为False。
- 将Ping最大响应时间设置为大于90秒的值。
将Ping Enabled设置为False会阻止IIS检查工作进程是否仍在运行,并保持工作进程处于活动状态,直到您停止调试进程。将Ping最大响应时间设置为较大的值允许IIS继续监视辅助进程。
不是在IIS中更改应用程序池设置,而应该暂时更改web.config中的httpRuntime executionTimeout属性。默认值为110秒,通常是足够的时间,但如果您正在调试,则不会。增加超时将允许服务器运行更长的请求。
<system.web>
<httpRuntime executionTimeout="360" />
</system.web>
将其设置为6分钟(360秒)。
完成调试后,您可以删除该属性,IIS将返回到默认设置。
请注意,如果您正在使用一个ScriptManager(用于比如更新面板),它使用它自己的超时通过设置:
<asp:ScriptManager ID="ScriptManager1" AsyncPostBackTimeout="???" ...
</asp:ScriptManager>
我建议你把它设置为高值仅在调试时。您可以在脚本管理器存在的页面的页面加载事件中执行此操作:
If Debugger.IsAttached Then
ScriptManager1.AsyncPostBackTimeout = 600
End If
我不知道这是否有用,但以我的经验,我只有Web站点而不是Web的此问题应用。出于许多原因,我尽量避免像鼠疫这样的网站。 – Jaxidian 2010-04-29 23:41:29
真的没有选择,这是我试图维护一个现有的网站,而我们建立新的WebAPP取而代之。 – Aren 2010-04-29 23:42:28
您如何调试? Windbg或Visual Studio远程调试?在极端情况下,我使用windbg并附加到过程中。这样我仍然有状态。 – 2010-04-29 23:42:50