【问题标题】:How to prevent a long running request in ASP.NET 4.5 from timing out如何防止 ASP.NET 4.5 中长时间运行的请求超时
【发布时间】:2014-02-20 10:10:53
【问题描述】:

没关系,这不是最佳做法,而是针对自定义要求(应用程序只有几个用户,没有并发访问),我需要设置一个非常大的执行超时值,以便请求可能需要几个小时才能完成。在 Web.config 文件中,我将 httpRuntime 元素的 executionTimeout attribute(定义在被 ASP.NET 自动关闭之前允许执行请求的秒数)的值设置为 3000(8 + 小时)

我已将编译元素中的 debug 属性设置为 False,因为它是设置较大超时值的前提条件。

Web 应用程序在 ASP.NET 4.5 和 IIS 8.5/Windows Server 2012 上运行。

即使我为 executionTimeout 属性设置了如此高的值,页面请求也会在 1 小时后超时。如何让页面不超时?

executionTimeout 是否有不能增加的最大值? IIS 或 Windows Server 2012 中的某些系统设置值是否强制 web.config 中的 executionTimeout 值生效?

【问题讨论】:

  • 哇,奇怪的问题!可能是您的应用程序池被回收。此请求是否报告进度?为什么要维护频道这么久?你能不能只在任务或线程上运行请求,并在用户返回时为用户保存结果?对不起,如果我没有得到问题的重点。

标签: asp.net webforms windows-server-2012


【解决方案1】:

不知道为什么它不适合你。但我们尝试设置以下适合我们的值。

<httpRuntime maxRequestLength="2147483647" requestValidationMode="2.0" executionTimeout="4800" maxQueryStringLength="2097151" />

随着

<compilation debug="false" targetFramework="4.5">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 2017-01-29
    • 2015-01-04
    • 2017-02-06
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    相关资源
    最近更新 更多