2011-04-11 2 views
0

매우 드문 경우지만 많은 요청이 실패하는 오류가있는 ASP.NET 웹 사이트가 있습니다. 오류가 발생하여 모든 페이지에 대한 기본 클래스의 OnError 무시에 로깅되므로 오류가 발생한 시점을 알 수 있습니다.오류 발생시 ASP.NET 사이트의 IIS 재설정

이 오류는 매우 드물기 때문에 iis가 발생하면 재설정하여 사이트가 정상적으로 작동하도록 재설정하려고합니다.

내 질문 : 아래의 OnError 코드에서 어떻게 IIS를 재설정 할 수 있습니까? iisreset을 실행할 수 있거나System.Environment.Exit (-1)과 같은 것을 사용하여 iis가 손상 될 수 있습니다. iis를 재설정하는 데 선호되는 방법은 무엇입니까?

Protected Overrides Sub OnError(ByVal e As EventArgs) 
     LogException(Server.GetLastError()) 
     MyBase.OnError(e) 
    End Sub 
+0

마치 앉아있는 같은 지점을 자르고 싶은 것처럼 보입니까? :) btw IIS를 다시 시작하면 IIS가 다시 시작되는 시간 동안 응용 프로그램을 사용할 수 없음을 보여야하며 IIS가 다시 시작할 수없는 경우 ............... 당신이 뭔가 다른 것을 찾아야하기를 바랍니다. –

+0

적용되지 않을 수도 있지만 IIS를 다시 시작하거나 응용 프로그램 풀을 재생할 때 해당 서버 또는 응용 프로그램 풀의 모든 사이트가 재설정되어 모든 (메모리에있는) 세션이 손실된다는 것을 의미합니다. –

답변

0

첫째, 다른 사람이 지적한대로 IIS (웹 서버)가 아닌 ASP.NET 응용 프로그램을 다시 시작해야합니다. (HttpRuntime.UnloadAppDomain 사용) 두 가지 방법이

  1. 은 Web.config의
  2. 이 AppDomain을 언로드 물어 (유사한 대안/터치 bin 폴더를 수정하는 것입니다) 터치 (수정)하기 위해 될 수

이 방법을 설명하는 this article을 확인하십시오.

또한 대안으로 기간 응용 프로그램 풀 재활용 (IIS 구성에서 가능)을 고려해 볼 것을 제안합니다.

+0

이미 수영장 재활용이 있습니다. 오류가 업무 시간 중에 발생하는 경우 오류 메시지가 표시되고 대개 빨리 해결되지만 문제가 오전 2시에 발생하고 풀이 나중에 언제든지 재생되면 나중에 아침과 오후에 오류가 표시됩니다. 사이트가 작동하지 않습니다. 이 특정 오류가 매우 드물기 때문에 나는 몇 초 동안 사용할 수없는 사이트에 대해 걱정하지 않는다 (몇 시간 동안 작동하지 않는 사이트보다 훨씬 낫다) –

관련 문제