我想增加应用程序中特定控制器动作的请求超时。我知道我可以在整个应用程序的web.config中执行此操作,但是我宁愿只在这一个操作上进行更改。如何在asp.net mvc应用程序中为一个控制器动作设置请求超时
的Web.config例如:
<system.web>
<httpRuntime executionTimeout="1000" />
</system.web>
我该怎么办呢?
我想增加应用程序中特定控制器动作的请求超时。我知道我可以在整个应用程序的web.config中执行此操作,但是我宁愿只在这一个操作上进行更改。如何在asp.net mvc应用程序中为一个控制器动作设置请求超时
的Web.config例如:
<system.web>
<httpRuntime executionTimeout="1000" />
</system.web>
我该怎么办呢?
您可以在控制器编程方式设置此: -
HttpContext.Current.Server.ScriptTimeout = 300;
设置超时时间为5分钟,而不是默认的110秒
随着AsyncController的出现,值得记住的是,为了获得异步请求的类似效果,您应该使用[AsyncTimeout]属性。 – Jason 2010-05-28 12:31:08
<location path="ControllerName/ActionName">
<system.web>
<httpRuntime executionTimeout="1000"/>
</system.web>
</location>
也许这是(多么奇怪的默认?)最好在web.config而不是控制器中设置这些值。可配置选项的硬编码被认为是有害的。
我不得不添加 “当前” 使用.NET 4.5:
HttpContext.Current.Server.ScriptTimeout = 300;
[ASP.NET MVC和的httpRuntime executionTimeout(的
可能重复http://stackoverflow.com/questions/492346/asp-net -mvc-and-httpruntime-executiontimeout) – balexandre 2011-11-15 22:18:53
@balexandre Nope。 – AgentFire 2014-11-26 11:38:44