2010-12-09 7 views
2

내 응용 프로그램이 공유 호스팅 환경에서 실행되고 있습니다. 내 앱 전용의 App Pool이 있습니다. 첫 번째 방문에서 테스트를 수행하고 성능을 사전 컴파일하고 응용 프로그램이 시작되고 종료 될 때 추적하고 있습니다.로그 IIS 응용 프로그램 풀 시작, 종료 및 재활용

내 Global.asax에서 Application_Start 및 Application_End에 일부 로깅 코드가 있습니다. 내 로그에서 일반적으로 응용 프로그램이 유휴 상태이고 종료되면 다른 사용자가 방문하여 다시 시작될 때 볼 수 있습니다.

그러나 종료가 기록 된 후 약 13 분 후에 다른 종료가 발생한 경우도 있습니다. 중간에 시작하지 않고.

한 행에 두 개의 Startup이있는 경우도 있습니다. 나는 이것들이 재활용일지도 모른다고 생각하지만, 왜 종료 로그 엔트리가 없을까?

내 응용 프로그램이 시작될 때, 종료 될 때 및 유휴 풀 또는 휴지통으로 인해 종료 될 때를 추적하는 더 좋은 방법이 있다면 정말 알고 싶습니다. 가능한 경우 내 앱에서이 작업을 수행해야하므로 Windows 이벤트 로그에 액세스 할 수 없습니다.

답변

3

Application_Start 및 Application_End는 응용 프로그램에서 평생 한 번만 호출해야합니다 (MSDN confirms this).

호스팅 환경을 알지 못하면 웹 호스트가 여러 작업자 풀 또는 IIS 인스턴스에서 웹 사이트를 실행하고있을 가능성이 있습니다. 풀에있는 다른 응용 프로그램 때문에 응용 프로그램 풀이 예기치 않게 충돌 할 수도 있습니다.

이벤트 로그 나 기본 웹 호스트 제어 패널 이외의 액세스 권한이 없으면 현재 로깅의 가장 좋은 방법은 Global.ASAX

을 사용하여 수행중인 작업입니다.
관련 문제