programing

실행력을 높이는 다음과 같습니다.장시간 실행되는 쿼리의 시간 초과?

madecode 2023. 7. 10. 23:26
반응형

실행력을 높이는 다음과 같습니다.장시간 실행되는 쿼리의 시간 초과?

내 애플리케이션에서는 하나의 쿼리를 실행하는 데 3분이 걸립니다.기본 실행을 찾았습니다.시간 초과 값은 110초입니다.500(초)로 변경하려고 했지만 문제가 해결되지 않았습니다.어디선가 그 설정을 발견했습니다.<compilation debug="false">실행 허용구성할 시간 초과 속성입니다.하지만, 이것조차도 저의 문제를 해결하지 못했습니다.

장기간 실행되는 쿼리의 실행 시간 제한을 어떻게 늘릴 수 있는지 아는 사람이 있습니까?

시간 은 "" "90초"의 경우 입니다..NET프레임워크 1.0 및 1.1, 그렇지 않으면 110초입니다.

해야 할 설정을 .web.config<httpRuntime>

<httpRuntime executionTimeout = "number(in seconds)"/>

그러나 기억해:

이 제한 시간은 컴파일 요소의 디버그 특성이 False인 경우에만 적용됩니다.

컴파일 요소에 대해 자세히 살펴봅니다.

httpRuntime 요소에 대한 이 문서를 확인합니다.

설정할 수 있습니다.executionTimeoutweb.config에서 더 긴 실행 시간을 지원합니다.

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

<httpRuntime  executionTimeout = "300" />

이렇게 하면 실행 시간이 5분으로 제한됩니다.

Int32 특성(선택 사항).

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

이 제한 시간은 컴파일 요소의 디버그 특성이 False인 경우에만 적용됩니다.따라서 디버그 특성이 True이면 디버깅하는 동안 응용 프로그램이 종료되지 않도록 이 특성을 큰 값으로 설정할 필요가 없습니다.기본값은 110초입니다. 참조.

RE. "개별 페이지에 대해 이 값을 설정할 수 있습니까?" – MonsterMMORPG

예, 위치 태그를 사용하여 이전 답변을 동봉할 수 있습니다.

예.

  ...
  <location path="YourWebpage.aspx">
    <system.web>
      <httpRuntime executionTimeout="300" maxRequestLength="29296" />
    </system.web>
  </location>
</configuration>

위의 스니펫은 제가 어제 테스트한 web.config 작업의 끝에서 가져온 것입니다. 저에게 효과가 있습니다.

페이지 수준별 시간 초과를 설정하려면 다음과 같은 간단한 코드를 사용할 수 있습니다.

Page.Server.ScriptTimeout = 60;

참고: 60은 60초를 의미하며, 이 제한 시간은 컴파일 요소의 디버그 특성이 False인 경우에만 적용됩니다.

쿼리가 그렇게 오래 걸리면 비동기식으로 실행하고 완료되면 콜백 기능을 사용하는 것이 좋습니다.

ASP.NET에 대한 경험이 많지 않지만, 이 비동기식 동작에 AJAX를 사용할 수도 있습니다.

일반적으로 웹 페이지는 몇 분이 아니라 몇 초 만에 로드됩니다.사용자를 너무 오래 기다리게 하지 마십시오!

저의 경우, wcf를 2시간 이상 실행해야 합니다.설정 중이고 전혀 작동하지 않았습니다.wcf가 20~30분 이상 실행되지 않았습니다.그래서 IIS 관리자에서 애플리케이션 풀의 유휴 시간 초과 설정을 변경했더니 작동했습니다!IIS 관리자에서 응용 프로그램 풀을 선택하고 해당 풀을 마우스 오른쪽 단추로 클릭한 후 고급 설정을 선택한 다음 유휴 시간 제한 설정을 원하는 시간(분)으로 변경합니다.그래서 web.config 설정과 application pool 설정이 모두 필요하다고 생각합니다.

언급URL : https://stackoverflow.com/questions/10649843/how-to-increase-executiontimeout-for-a-long-running-query

반응형