Как установить тайм-аут запроса для одного действия контроллера в приложении asp.net mvc
-
06-09-2019 - |
Вопрос
Я хочу увеличить тайм-аут запроса для определенного действия контроллера в моем приложении.Я знаю, что могу сделать это в файле 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