【问题标题】:ASP.NET Debugging Timing out with IIS使用 IIS 的 ASP.NET 调试超时
【发布时间】:2011-02-14 01:09:07
【问题描述】:

终于崩溃并寻求帮助,我的客户端/iis(不确定是哪个)通常在我调试(单步执行代码)时大约 30 秒 - 1 分钟后超时,这不仅导致我失去了自己的位置而且不得不重新开始(通常步速更快,犯更多错误)但 IIS 调试会话完全关闭,我必须再次预热整个会话。

从调试会话中获得更多时间的最佳方法是什么?

在 IIS 7.5 经典管道上调试 vanilla 3.5 Web 站点(不是应用程序)

【问题讨论】:

  • 我不知道这是否有帮助,但根据我的经验,我只遇到过网站问题,而不是 Web 应用程序。出于多种原因,我尽量避免使用像瘟疫这样的网站。
  • 真的别无选择,这是我在构建新的WebAPP来替换它的同时尝试维护现有站点。
  • 你调试的怎么样了? Windbg 或 Visual Studio 远程调试?在极端情况下,我使用 windbg 并附加到进程中。这样我还有状态。
  • 我在 vs 2008 的 MVC 1 应用程序中看到了这一点。VS 2010 似乎没有同样的问题。
  • 这是一个表单应用程序,而不是 MVC,它是附加到我的本地 IIS 7.5 工作进程的 Visual Studio 远程调试。

标签: asp.net debugging iis


【解决方案1】:

请注意,如果您使用的是 ScriptManager(例如,更新面板),它会使用它自己的超时设置:

<asp:ScriptManager ID="ScriptManager1" AsyncPostBackTimeout="???" ...
</asp:ScriptManager>

我建议您仅在调试时将其设置为较高的值。您可以在 scriptmanager 控件所在页面的 pageload 事件中执行此操作:

If Debugger.IsAttached Then
    ScriptManager1.AsyncPostBackTimeout = 600
End If

【讨论】:

    【解决方案2】:

    您应该暂时更改 web.config 中的 httpRuntime executionTimeout 属性,而不是更改 IIS 中的应用程序池设置。默认值为 110 秒,这通常是足够的时间,但如果您正在调试,则不会。增加超时将允许对服务器的请求运行更长时间。

    <system.web>
       <httpRuntime executionTimeout="360" />
    </system.web>
    

    设置为 6 分钟(360 秒)。

    调试完成后,您可以删除该属性,IIS 将返回默认值。

    【讨论】:

    • 我这样做了。我将它设置为 9999,大约是 2.7 小时。然而,经过几分钟的调试,当我调试服务器代码时,我的网页显示“Internet Explorer 无法显示网页”。是否有单独的 IE 浏览器超时可以更改?
    • @ChadD 我从未亲自调试过生产网络应用程序。我要么能够在 QA 环境中复制错误,要么使用 IIS 或错误日志来找出问题所在。我强烈建议您使用这种方法。直接调试生产是自找麻烦。回答你的问题:执行超时应该可以工作。如果您收到 IE 无法显示页面的消息,那么它可能不是超时..
    【解决方案3】:

    如果您将连接限​​制设置得足够高,则设置连接限制有效。我不想再被这件事打扰了。 Here 是我做的:

    假设您在 IIS 管理器中选择了一个 IIS 应用程序池

    ...在“高级设置”对话框中,找到“流程模型”部分,然后执行以下操作之一:

    1. 将 Ping 启用设置为 False。
    2. 将 Ping 最大响应时间设置为大于 90 秒的值。

    将 Ping Enabled 设置为 False 会阻止 IIS 检查工作进程是否仍在运行,并使工作进程保持活动状态,直到您停止调试的进程。将 Ping 最大响应时间设置为较大的值允许 IIS 继续监视工作进程。

    【讨论】:

    • 值得注意的是,将响应时间设置为较大的值足以解决问题,启用 Ping 会有所帮助。将此标记为已接受,因为它比另一个更正确。
    • 我想我应该改变我的措辞,从“......对我不起作用”。到“......没有按照我想要的方式工作,再也不会打扰我了。”
    • 我只是将我网站的应用程序池更改为其默认值 (DefaultAppPool) 及其工作。 :) 谢谢。
    猜你喜欢
    • 1970-01-01
    • 2010-10-24
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 2013-11-17
    • 1970-01-01
    相关资源
    最近更新 更多