Como faço para definir o tempo limite de pedido para uma ação do controlador em um aplicativo MVC asp.net
-
06-09-2019 - |
Pergunta
Eu quero aumentar o limite de tempo pedido de uma ação de controlador específico na minha aplicação. Eu sei que posso fazê-lo no web.config para o aplicativo inteiro, mas eu prefiro mudar isso em apenas esta ação um.
Web.config exemplo:
<system.web>
<httpRuntime executionTimeout="1000" />
</system.web>
Como posso fazê-lo?
Solução
Você pode definir isso programaticamente no controlador: -
HttpContext.Current.Server.ScriptTimeout = 300;
Define o tempo limite para 5 minutos em vez do padrão de 110 segundos (o que é um padrão estranho?)
Outras dicas
<location path="ControllerName/ActionName">
<system.web>
<httpRuntime executionTimeout="1000"/>
</system.web>
</location>
Provavelmente é melhor para definir esses valores em web.config em vez de controlador. Hardcoding de opções configuráveis ??é considerado nocivo.
Eu tive que adicionar "Current" usando .NET 4.5:
HttpContext.Current.Server.ScriptTimeout = 300;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow