디버깅 IIS 작업자가 때때로 단일 ASP.NET 응용 프로그램을 '죽은'상태로 만듭니다.


0

단일 응용 프로그램 풀이있는 IIS 서버와 세 가지 응용 프로그램이 포함 된 사이트가 있습니다. 세 가지 응용 프로그램은 모두 단일 IIS 작업자에서 실행됩니다.

때로는 응용 프로그램 중 하나를 디버깅하는 동안 디버거가 간헐적으로 '무언가'를 평생 평가하는 상태로 들어갑니다. 이것은 디버깅을 적극적으로하지 않더라도 실행이 일시 중지 된 경우 언제든지 발생할 수 있습니다.

이런 일이 발생하면 디버깅 중이던 전체 ASP.NET 응용 프로그램을 사용할 수 없게됩니다. '죽은'응용 프로그램에 요청을하면 요청을 처리하는 데 필요한 이진 파일을로드하는 ASP.NET을 볼 수 있지만 내 코드를 입력하지 않고 내 요청에 응답하지 않으며 절대 실행하지 않습니다. 요청을하는 데 사용 된 연결을 닫으십시오.

그러나이 작업자의 다른 두 응용 프로그램은 계속 실행되고 서버 요청은 예상대로 실행됩니다.

내가 알 수있는 한, 내 컴퓨터를 다시 시작하지 않으면 응용 프로그램을 복구 할 수있는 방법이 없습니다. IIS를 다시 시작하고, 응용 프로그램 풀을 재활용하고, 작업자를 모두 죽이는 것은 효과가 없습니다.

왜 이런 일이 생길까요? 내 컴퓨터를 다시 시작하지 않고도 ASP.NET 응용 프로그램을 어떻게 복구 할 수 있습니까?

IIS 응용 프로그램을 지칭하기 위해 '응용 프로그램'이라는 용어를 독점적으로 사용하고 있습니다.


"적극적으로 디버깅"하지 않으면 "실행이 일시 중지됩니다". 이 컨텍스트에서 적극적으로 디버깅하는 것은 무엇을 의미합니까?
Marcel

@ 마르셀 : '적극적으로 디버깅'은 내가 코드를 밟거나 무언가를 검사한다는 것을 의미합니다. 디버거가 연결되어 있고 실행이 일시 중지되었지만 디버거에 포커스가 없어서 상호 작용하지 않는 경우가 종종 발생합니다.
dauphic
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.