IIS에서 요청 시간 초과를 늘리는 방법은 무엇입니까?


150

IIS 7.0에서 요청 시간 초과를 늘리는 방법은 무엇입니까? IIS 6.0의 ASP 구성 설정에있는 응용 프로그램 탭에서도 마찬가지입니다. IIS 7.0에서 asp.net 구성 섹션을 찾을 수 없습니다

답변:


182

이것을 Web Config에 추가하십시오

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

https://msdn.microsoft.com/en-us/library/e1f13641(v=vs.85).aspx

선택적 TimeSpan 특성

ASP.NET에 의해 자동으로 종료되기 전에 요청을 실행할 수있는 최대 시간 (초)을 지정합니다.

이 제한 시간은 컴파일 요소의 디버그 속성이 False 인 경우에만 적용됩니다. 디버깅하는 동안 응용 프로그램이 종료되지 않도록하려면이 시간 제한을 큰 값으로 설정하지 마십시오.

기본값은 "00:01:50"(110 초)입니다.


8
IIS 7 관리자 GUI에서 설정할 수 있습니까?
Triynko

13
시간 초과는 초 단위로 지정되며 기본값은 110 초입니다. 참고 :이 시간 초과는 <compilation> 요소의 디버그 특성이 false로 설정된 경우에만 적용됩니다!
Jowen

1
@ 조웬 : 당신은 락! 이전에 디버그를 거짓 일로 변경했으며 수신 한 모든 시간 초과 오류와 관련이 없습니다. 이제 알아
더그 S

executionTimeout의 최대 값은 TimeSpan (10675199.02 : 48 : 05.4775807)의 최대 값이기도합니다. 그 이상은 다음과 같습니다.
Antoine Pelletier

72

IIS 관리자에서 사이트를 마우스 오른쪽 단추로 클릭하고 사이트 관리 -> 고급 설정으로 이동하십시오 . 연결 제한 옵션 아래에 연결 시간 초과 가 표시 됩니다 .


6
요청 시간 초과와 동일합니다. XML 문서에서 데이터를 마이그레이션하려고하는데 reuqest 시간 초과입니다. 따라서 연결 시간 초과를 늘리면 해결됩니다.
Dotnet Rocks

12
'HTTP Keep-Alive'가 활성화되어 있으면 연결이 얼마나 오래 유지되는지를 의미하는이 타이밍 설정이 적용된다고 생각하지 않습니다.이 요청이 '요청 시간 초과'와 관련이 있다고 생각하지 않습니다 (iis 대기 시간) 페이지 실행을 위해) ..
visual

1
큰 파일 업로드와 같은 특정 상황에서는 이것이 정답이라고 생각합니다. 업로드를 기다리는 동안
David Hammond

45

요청 시간 초과를 늘리려면 이것을 web.config에 추가하십시오.

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

특정 페이지에 이것을 추가하십시오

<location path="somefile.aspx">
    <system.web>
        <httpRuntime executionTimeout="180"/>
    </system.web>
</location>

.NET 1.x의 기본값은 90 초입니다.

.NET 2.0 이상의 경우 기본 110 초입니다.


3
위치에 대한 정보로 +1을 받았습니다
Gonza Oviedo

굉장히 유용하다. 감사!
jim1427

29

IIS> = 7에서, <webLimits>섹션 대체하고 ConnectionTimeout, HeaderWaitTimeout, MaxGlobalBandwidth, 및 MinFileBytesPerSec6 메타베이스 설정 IIS.

구성 예 :

<configuration>
   <system.applicationHost>
      <webLimits connectionTimeout="00:01:00"
         dynamicIdleThreshold="150"
         headerWaitTimeout="00:00:30"
         minBytesPerSecond="500"
      />
   </system.applicationHost>
</configuration>

참고로 IIS의 이러한 설정에 대한 자세한 내용은 여기를 참조 하십시오 . 또한 IIS 관리자의 "configuration editor"를 통해이 섹션을 web.config에 추가 할 수 없었습니다.이 섹션을 추가하고 구성을 검색하면이 섹션이 표시되었습니다.


5
이것은 ConnectionTimeouthttpRuntime 's가 아닌을 대체합니다 executionTimeout.
user2864740

15

다음은 문제를 해결하기위한 단계입니다.

  1. IIS를여십시오
  2. " 사이트 "옵션으로 이동하십시오 .
  3. 마우스 오른쪽 버튼을 클릭하십시오.
  4. 그런 다음 " 웹 사이트 관리 "특성을여십시오 .
  5. 그런 다음 " 고급 설정 "을 클릭하십시오 .
  6. " 연결 제한 " 섹션을 펼치 십시오. 여기에서 " 연결 시간 초과 "를 설정할 수 있습니다

여기에 이미지 설명을 입력하십시오


자세한 정보는 다음 링크를 참조하십시오 : docs.microsoft.com/en-us/previous-versions/dotnet/…
JPatel

11

나는 질문이 ASP에 관한 것이지만 누군가이 대답이 도움이 될 것이라고 생각합니다.

IIS 7.5 뒤에 서버가있는 경우 (예 : Tomcat) 제 경우에는 Tomcat 서버가 구성된 서버 팜이 있습니다. 이 경우 IIS 관리자를 사용하여 시간 초과를 변경할 수 있습니다.

  • 이동 서버 팜 > - {서버 이름} -> 프록시
  • 시간 제한 항목 상자 에서 값을 변경하십시오.
  • 적용 (오른쪽 상단)을 클릭 하십시오.

또는 cofig 파일에서 변경할 수 있습니다.

  • 열다 % WINDIR % \ system32를 먼저 System32 \ inetsrv \ config \ applicationhost.config
  • 서버 webFarm 구성을 다음과 유사하게 조정하십시오.

예:

<webFarm name="${SERVER_NAME}" enabled="true"> 
  <server address="${SERVER_ADDRESS}" enabled="true">
    <applicationRequestRouting httpPort="${SERVER_PORT}" />
  </server>
  <applicationRequestRouting>
    <protocol timeout="${TIME}" />
  </applicationRequestRouting>
</webFarm>

$ {TIME은}mm : HH SS 형식 (당신이 90 초로 설정하려면 그럼 넣어이 0시 1분 30초)

Tomcat (및 아마도 다른 서블릿 컨테이너)의 경우 % TOMCAT_DIR % \ conf \ server.xml 에서 시간 초과를 변경해야합니다 ( 커넥터 태그 에서 connectionTimeout 속성 만 검색 하고 밀리 초 단위 로 지정됨 ).


2
질문과 직접 ​​관련된 답변 만 게시해야합니다. 이 질문은 순수한 IIS에 관한 것이기 때문에 Tomcat에 대한 정보가있는 답변은 실제로 관련이 없습니다.
Andrew Barber

9
이 경우 여기에 지정된 유스 케이스 (IIS 응용 프로그램 요청 라우팅을 사용하여 다른 서버로 라우팅)가 IIS에 관한 것이므로 대답이 적절하다고 생각합니다. 여기의 설정은 IIS 관리자에서도 구성 할 수 있습니다. FWIW,이 답변은 변경해야 할 요청 시간 제한 문제를 해결하는 데 도움이되었습니다. (IIS 관리자에는 많은 시간 초과 설정이 있으므로)
Jensen Ching

3

아래의 Power Shell 명령을 사용하여 실행 시간 초과 (Request Timeout)를 변경하십시오.

기본 웹 사이트에이 정보를 제공 했으므로 사용하기 전에 사이트를 변경 한 다음 사용하십시오.

 Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site'  -filter "system.web/httpRuntime" -name "executionTimeout" -value "00:01:40"

또는 아래 C # 코드를 사용하여 동일한 작업을 수행 할 수 있습니다

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample {

    private static void Main() {

        using(ServerManager serverManager = new ServerManager()) { 
            Configuration config = serverManager.GetWebConfiguration("Default Web Site");

            ConfigurationSection httpRuntimeSection = config.GetSection("system.web/httpRuntime");
            httpRuntimeSection["executionTimeout"] = TimeSpan.Parse("00:01:40");

            serverManager.CommitChanges();
        }
    }
}

또는 JavaScript를 사용하여이 작업을 수행 할 수 있습니다.

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";

var httpRuntimeSection = adminManager.GetAdminSection("system.web/httpRuntime", "MACHINE/WEBROOT/APPHOST/Default Web Site");
httpRuntimeSection.Properties.Item("executionTimeout").Value = "00:01:40";

adminManager.CommitChanges();

또는 AppCmd ​​명령을 사용할 수 있습니다.

appcmd.exe set config "Default Web Site" -section:system.web/httpRuntime /executionTimeout:"00:01:40" 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.