2009-02-23 17 views
74

我想增加應用程序中特定控制器動作的請求超時。我知道我可以在整個應用程序的web.config中執行此操作,但是我寧願只在這一個操作上進行更改。如何在asp.net mvc應用程序中爲一個控制器動作設置請求超時

的Web.config例如:

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

我該怎麼辦呢?

+0

可能重複http://stackoverflow.com/questions/492346/asp-net -mvc-and-httpruntime-executiontimeout) – balexandre 2011-11-15 22:18:53

+0

@balexandre Nope。 – AgentFire 2014-11-26 11:38:44

回答

100

您可以在控制器編程方式設置此: -

HttpContext.Current.Server.ScriptTimeout = 300; 

設置超時時間爲5分鐘,而不是默認的110秒

+26

隨着AsyncController的出現,值得記住的是,爲了獲得異步請求的類似效果,您應該使用[AsyncTimeout]屬性。 – Jason 2010-05-28 12:31:08

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

也許這是(多麼奇怪的默認?)最好在web.config而不是控制器中設置這些值。可配置選項的硬編碼被認爲是有害的。

16

我不得不添加 「當前」 使用.NET 4.5:

HttpContext.Current.Server.ScriptTimeout = 300; 
[ASP.NET MVC和的httpRuntime executionTimeout(的
相關問題