Как установить тайм-аут запроса для одного действия контроллера в приложении asp.net mvc

StackOverflow https://stackoverflow.com/questions/579523

  •  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;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top