2009-12-14 4 views
1

ASP.NET 웹 응용 프로그램을 호출하는 ASP.NET 웹 응용 프로그램이 있습니다.이 웹 서비스는보고 서비스에서 보고서를 호출하여 보고서를 파일에 저장합니다. 모든 것이 보고서가 도착할 때까지 기다렸다가 다운로드 가능한 pdf 보고서로 체인을 다시 되돌려 놓기로되어 있습니다.ASP.NET 페이지 시간 초과 변경

문제는 보고서를 생성하는 데 90 초보다 오래 걸리고 웹 응용 프로그램의 페이지가 보고서를 생성하기 위해 호출에서 돌아 오기를 기다리는 동안 시간이 초과된다는 것입니다. 보고서가 결국 생성되지만 페이지가 그것을 기다리게하고 싶습니다.

IIS7에서 'ASP'의 '제한 시간 - 속성'('Script Time-out')이라는 항목을 설정하려고 시도했지만 1시 30 분에서 5시 사이에 있지만 차이는 없습니다. 필자는 웹 응용 프로그램과 웹 서비스 모두에 대해이 작업을 수행했으나 보고서가 항상 오류가 발생하지 않도록 보고서가 생성되므로 어쨌든 설정을 찾을 수없는보고 서비스에서 수행해야한다고 생각하지는 않습니다.

은 또한 변화 시도했다 < httpRuntime을 maxRequestLength의 = "32768"executionTimeout에 = "60000"/이 어떤 빨리-시간 초과되어 다시 놀라운 일이 아니었다 영향을,이 없다면 20000 밀리 초 단위로보고 설정 > 그 이후로 갈 예정 이었기 때문에 시간 제한은 90이 아닌 60 초 전에 변경해야합니다.

보고서를 기다리는 시간을 변경하려면 어떻게해야합니까?

답변

1

내가 틀렸을 수도 있지만 클라이언트 브라우저에서 시간 초과가 설정 될까봐 걱정됩니다. 다른 관점에서 접근 할 수 있습니까? 즉. 보고서가 준비 될 때까지 5 초마다 새로 고치는 '로드 중'페이지를 반환 하시겠습니까?

+0

파이어 폭스 3.5 또는 IE8에서 설정을 찾을 수 없지만 서버의 실행 시간 초과 설정이 트릭을하지 않는 것 같습니다 (디버그가 거짓인지 참인지 - http : // msdn에서 false 여야 함). Microsoft.com/ko-kr/library/e1f13641.aspx). 그래서 우리는 제안 된대로 준비가되었는지에 대한 배경 조사와 함께 지주 페이지를 만들 것입니다. – Phil

1

web.config를 변경하고 executionTimeout 구성을 늘리려면 http://msdn.microsoft.com/en-us/library/e1f13641.aspx을 조사해야합니다.

이렇게하면 오래 실행되는 문제가 해결되지 않고 다른 문제가 발생할 수 있습니다.

비동기 엔진을 만들어 보고서를 처리하려고 할 수 있습니다. 사용자가 보고서를 요청하면이를 MSMQ 대기열에 넣고 백그라운드에서 처리합니다. 완료하면 해당 보고서가 첨부 된 이메일을 보냅니다.

사용자가 애플리케이션 내부에서 기다릴 필요가 없으며 다른 주제로 마음을 바꿀 수 있습니다.

0

webservice를 호출하면 시간 초과가 발생합니다. 해당 값을 적절한 값으로 설정했는지 확인하십시오. 그러나 데이터를 사용할 수있게되면 새로 고치는 페이지를로드하는 것이 가장 좋습니다.

0

제한 시간은 웹 사이트 앞의 방화벽이나 프록시에 의해 제한 될 수도 있습니다.