代码之家  ›  专栏  ›  技术社区  ›  Kyle West

如何在ASP.NET MVC应用程序中设置一个控制器操作的请求超时

  •  81
  • Kyle West  · 技术社区  · 15 年前

    我想增加应用程序中特定控制器操作的请求超时。我知道我可以在web.config中为整个应用程序做这个,但我宁愿只在这个操作上更改它。

    web.config示例:

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

    我该怎么做?

    3 回复  |  直到 7 年前
        1
  •  112
  •   Meta-Knight    7 年前

    您可以在控制器中以编程方式设置:

    HttpContext.Current.Server.ScriptTimeout = 300;
    

    将超时设置为5分钟而不是默认的110秒(什么是奇怪的默认值?)

        2
  •  60
  •   ddimitrov    11 年前
    <location path="ControllerName/ActionName">
        <system.web>
            <httpRuntime executionTimeout="1000"/>
        </system.web>
    </location>
    

    也许最好在web.config中设置这些值,而不是在controller中设置。可配置选项的硬编码被认为是有害的。

        3
  •  18
  •   Patrick Michalina    9 年前

    我必须使用.NET 4.5添加“current”:

    HttpContext.Current.Server.ScriptTimeout = 300;