我如何设置一个控制器动作的请求超时在一个asp.net MVC应用程序
-
06-09-2019 - |
题
我想增加请求超时用于我的应用程序特定的控制器的动作。我知道我可以在web.config中为整个应用程序做到这一点,但我宁愿改就只是这一个动作。
的Web.config示例:
<system.web>
<httpRuntime executionTimeout="1000" />
</system.web>
我该怎么办呢?
解决方案
可以在控制器编程方式设置此: -
HttpContext.Current.Server.ScriptTimeout = 300;
设定的超时至5分钟,而不是默认110秒(什么奇数默认?)
其他提示
<location path="ControllerName/ActionName">
<system.web>
<httpRuntime executionTimeout="1000"/>
</system.web>
</location>
也许最好是在web.config中,而不是控制器来设置这样的值。的可配置选项硬编码被认为是有害的。
我不得不添加 “当前” 使用.NET 4.5:
HttpContext.Current.Server.ScriptTimeout = 300;
不隶属于 StackOverflow