Chcę zwiększyć limit czasu żądania dla określonej akcji kontrolera w mojej aplikacji. Wiem, że mogę to zrobić w pliku web.config dla całej aplikacji, ale wolałbym to zmienić tylko w tej jednej akcji.
Przykład Web.config:
<system.web>
<httpRuntime executionTimeout="1000" />
</system.web>
Jak mam to zrobić?
asp.net-mvc
asp.net-web-api
Kyle West
źródło
źródło
Odpowiedzi:
Możesz ustawić to programowo w kontrolerze: -
HttpContext.Current.Server.ScriptTimeout = 300;
Ustawia limit czasu na 5 minut zamiast domyślnych 110 sekund (co za nieparzyste domyślne?)
źródło
<location path="ControllerName/ActionName"> <system.web> <httpRuntime executionTimeout="1000"/> </system.web> </location>
Chyba lepiej ustawić takie wartości w web.config niż w kontrolerze. Zakodowanie konfigurowalnych opcji jest uważane za szkodliwe.
źródło
ControllerName\ActionName
Musiałem dodać „Current” za pomocą .NET 4.5:
HttpContext.Current.Server.ScriptTimeout = 300;
źródło