Como faço para definir o tempo limite de pedido para uma ação do controlador em um aplicativo MVC asp.net

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

  •  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?

Foi útil?

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
scroll top