【发布时间】:2010-10-09 10:26:15
【问题描述】:
我想为我的应用程序中的特定控制器操作增加请求超时。我知道我可以在整个应用程序的 web.config 中执行此操作,但我宁愿仅在这一操作上进行更改。
Web.config 示例:
<system.web>
<httpRuntime executionTimeout="1000" />
</system.web>
我该怎么做?
【问题讨论】:
标签: asp.net-mvc asp.net-web-api
我想为我的应用程序中的特定控制器操作增加请求超时。我知道我可以在整个应用程序的 web.config 中执行此操作,但我宁愿仅在这一操作上进行更改。
Web.config 示例:
<system.web>
<httpRuntime executionTimeout="1000" />
</system.web>
我该怎么做?
【问题讨论】:
标签: asp.net-mvc asp.net-web-api
您可以在控制器中以编程方式设置:-
HttpContext.Current.Server.ScriptTimeout = 300;
将超时设置为 5 分钟,而不是默认的 110 秒(这是什么奇怪的默认设置?)
【讨论】:
<location path="ControllerName/ActionName">
<system.web>
<httpRuntime executionTimeout="1000"/>
</system.web>
</location>
在 web.config 而不是控制器中设置这些值可能会更好。可配置选项的硬编码被认为是有害的。
【讨论】:
ControllerName\ActionName 开头的控制器路由中
我必须使用 .NET 4.5 添加“当前”:
HttpContext.Current.Server.ScriptTimeout = 300;
【讨论】: