如何在asp.net mvc应用程序中为一个控制器操作设置请求超时

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

Web.config示例:

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

我该怎么做?

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

 HttpContext.Current.Server.ScriptTimeout = 300; 

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

 <location path="ControllerName/ActionName"> <system.web> <httpRuntime executionTimeout="1000"/> </system.web> </location> 

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

我不得不使用.NET 4.5添加“当前”:

 HttpContext.Current.Server.ScriptTimeout = 300;