104

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

Web.config 示例:

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

我该怎么做?

4

3 回答 3

142

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

HttpContext.Current.Server.ScriptTimeout = 300;

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

于 2009-02-23T22:11:35.197 回答
74
<location path="ControllerName/ActionName">
    <system.web>
        <httpRuntime executionTimeout="1000"/>
    </system.web>
</location>

可能最好在 web.config 而不是控制器中设置这些值。可配置选项的硬编码被认为是有害的。

于 2011-12-06T17:43:12.767 回答
21

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

HttpContext.Current.Server.ScriptTimeout = 300;
于 2015-05-19T16:49:45.247 回答