2010-02-06 5 views
1

모노에있는 webservice에 문제가 있습니다. 거대한 데이터베이스 작업을 처리하는 webservice가 있습니다. "appconfigtings"태그 아래의 "webconfig"파일에 "Timeout = 1024"를 지정했습니다.스레드 중단 예외

2 분 후에 webservice에 대한 호출이 완료되면 "thread abort exception"이 발생합니다.

것은 나에게이 문제를

관련 Kumaran

답변

1

긴 작업을 배치하는 나쁜 관행을 극복하기 위해 도와주세요 동기 웹 서비스 방법 (은 2 이상 분입니다 귀하의 경우). 일반적으로 웹 서비스는 백엔드 서버 또는 적어도 다른 스레드에서 오랜 시간 메서드를 시작하기위한 외관 일뿐입니다. 클라이언트는 작업이 완료되었는지 주기적으로 확인할 수 있습니다 (워치 독 패턴이라고도 함). 또는 클라이언트가 결과에 전혀 신경 쓰지 않을 때 한쪽 방법을 사용할 수 있는지 검토하십시오. 그런데, 참고하여

, 심지어 ThreadAbort 예외로 완료해야 웹 요청 작업을 성공 - HttpRequest를 포함하기 때문에이 또한 요구 타임 아웃 시간을 설정할 요청 처리

2

의 끝에서 제기. 이것은 기본적으로 30 초 또는 60 초와 비슷합니다. system.web 섹션에서

는 같은 설정이 모든 페이지에 영향을 미칠 것

<httpRuntime executionTimeout="200"/> 

를, 그래서 아마 당신은 로컬 web.config 파일을 가질 수 있도록 별도의 폴더에 페이지를 데려 가고 싶다는 이 설정은

1

미리보기를 확인하십시오. 시간 초과 여부를 나타내는 플래그를 포함해야하는 일종의 HttpApplication.CancelModelException이 있어야합니다. 어느 쪽이든, 만약 당신이 innerexception을 가지고 있다면 더 많은 통찰력을 제공 할 수 있습니다.

또한 방법이 async으로 설정되어 있는지 확인하십시오.

관련 문제