我想增加應用程序中特定控制器動作的請求超時。我知道我可以在整個應用程序的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