단일 응용 프로그램 풀이있는 IIS 서버와 세 가지 응용 프로그램이 포함 된 사이트가 있습니다. 세 가지 응용 프로그램은 모두 단일 IIS 작업자에서 실행됩니다.
때로는 응용 프로그램 중 하나를 디버깅하는 동안 디버거가 간헐적으로 '무언가'를 평생 평가하는 상태로 들어갑니다. 이것은 디버깅을 적극적으로하지 않더라도 실행이 일시 중지 된 경우 언제든지 발생할 수 있습니다.
이런 일이 발생하면 디버깅 중이던 전체 ASP.NET 응용 프로그램을 사용할 수 없게됩니다. '죽은'응용 프로그램에 요청을하면 요청을 처리하는 데 필요한 이진 파일을로드하는 ASP.NET을 볼 수 있지만 내 코드를 입력하지 않고 내 요청에 응답하지 않으며 절대 실행하지 않습니다. 요청을하는 데 사용 된 연결을 닫으십시오.
그러나이 작업자의 다른 두 응용 프로그램은 계속 실행되고 서버 요청은 예상대로 실행됩니다.
내가 알 수있는 한, 내 컴퓨터를 다시 시작하지 않으면 응용 프로그램을 복구 할 수있는 방법이 없습니다. IIS를 다시 시작하고, 응용 프로그램 풀을 재활용하고, 작업자를 모두 죽이는 것은 효과가 없습니다.
왜 이런 일이 생길까요? 내 컴퓨터를 다시 시작하지 않고도 ASP.NET 응용 프로그램을 어떻게 복구 할 수 있습니까?
IIS 응용 프로그램을 지칭하기 위해 '응용 프로그램'이라는 용어를 독점적으로 사용하고 있습니다.
"적극적으로 디버깅"하지 않으면 "실행이 일시 중지됩니다". 이 컨텍스트에서 적극적으로 디버깅하는 것은 무엇을 의미합니까?
—
Marcel
@ 마르셀 : '적극적으로 디버깅'은 내가 코드를 밟거나 무언가를 검사한다는 것을 의미합니다. 디버거가 연결되어 있고 실행이 일시 중지되었지만 디버거에 포커스가 없어서 상호 작용하지 않는 경우가 종종 발생합니다.
—
dauphic