[asp.net-mvc] asp.net mvc 애플리케이션에서 하나의 컨트롤러 작업에 대한 요청 시간 제한을 설정하려면 어떻게해야합니까?

내 응용 프로그램에서 특정 컨트롤러 작업에 대한 요청 시간 제한을 늘리고 싶습니다. 전체 응용 프로그램에 대해 web.config에서 수행 할 수 있다는 것을 알고 있지만이 작업 한 번만 변경하고 싶습니다.

Web.config 예 :

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

어떻게하나요?



답변

컨트롤러에서 프로그래밍 방식으로 설정할 수 있습니다.

HttpContext.Current.Server.ScriptTimeout = 300;

시간 제한을 기본값 인 110 초 대신 5 분으로 설정합니다 (이상한 기본값?).


답변

<location path="ControllerName/ActionName">
    <system.web>
        <httpRuntime executionTimeout="1000"/>
    </system.web>
</location>

아마도 컨트롤러 대신 web.config에서 이러한 값을 설정하는 것이 좋습니다. 구성 가능한 옵션의 하드 코딩은 유해한 것으로 간주됩니다.


답변

.NET 4.5를 사용하여 “Current”를 추가해야했습니다.

HttpContext.Current.Server.ScriptTimeout = 300;


답변