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

Я хочу увеличить время ожидания запроса для конкретного действия контроллера в моем приложении. Я знаю, что могу сделать это в web.config для всего приложения, но я бы предпочел изменить его только одним действием.

Пример Web.config:

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

Как мне это сделать?

Ответы [ 4 ]

117 голосов
/ 24 февраля 2009

Вы можете установить это программно в контроллере: -

HttpContext.Current.Server.ScriptTimeout = 300;

Устанавливает время ожидания 5 минут вместо значения по умолчанию 110 секунд (что за странное значение по умолчанию?)

60 голосов
/ 06 декабря 2011
<location path="ControllerName/ActionName">
    <system.web>
        <httpRuntime executionTimeout="1000"/>
    </system.web>
</location>

Возможно, лучше установить такие значения в web.config, а не в контроллере. Жесткое кодирование настраиваемых параметров считается вредным.

19 голосов
/ 19 мая 2015

Мне пришлось добавить «Текущий» с помощью .NET 4.5:

HttpContext.Current.Server.ScriptTimeout = 300;
0 голосов
/ 29 марта 2019

Просто это будет работать.

//main thread
System.Threading.Thread.Sleep(1000);

//task delay
await Task.Delay(5000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...