2012-10-31 2 views
0

'404-File not found' global.asax 파일에서 오류가 발생하여 서버의 텍스트 파일에 오류가 발생하지만 많은 오류가 발생합니다. FormatException Error, Sessionout Error 및 "Yellow Page of"과 같이 나타나지 않았습니다.global.asax에 걸린 모든 오류 C#

여기서 모든 오류를 어떻게 잡을 수 있습니까?

void Application_Error(object sender, EventArgs e) 
{ 
    CT.Bussiness.DevCommonFunctions devTools = new CT.Bussiness.DevCommonFunctions(); 
    HttpContext ctx = HttpContext.Current; 
    //ctx.Response. 
    // Get page url 
    if (ctx != null) 
    { 
     string pageName = ctx.Request.Url.ToString(); 

     Exception ex = Server.GetLastError().GetBaseException(); 
     HttpException checkException = (HttpException)ex; 
     if (checkException.GetHttpCode() != 404) 
     { 
      string errorDate = DateTime.Now.ToString(); 
      //string pageName =pageName; 
      string errorMessage = ex.Message; 
      string errorSource = ex.Source; 
      //string errorInnerException=ex.InnerException.ToString(); 
      string errorData = ex.Data.ToString(); 
      string errorTarget = ex.TargetSite.ToString(); 
      string errorStack = ex.StackTrace.ToString(); 
      devTools.WriteErrorsIntoErrorLog(errorDate, pageName, errorMessage, errorSource, "InnerException", errorData, errorTarget, errorStack); 
      //devTools.SendErrorMail("[email protected],[email protected],[email protected],[email protected]", errorDate, pageName, errorMessage, errorSource, "InnerException", errorData, errorTarget, errorStack); 
      //Response.TrySkipIisCustomErrors = true; 
      Response.Redirect("~/Error.aspx"); 
      //Response.Redirect("Error.aspx"); 

     } 
    } 
} 

내가 아래 KPL Adviced으로이 같이 이어

해결 : ELMAH

  • 제외 Global.asax에와
  • 을 구현

    1. 의 Web.config에 리디렉션 코드를 썼다.

    따라서 해결 된!

  • 답변

    0

    사용 :

    1)의 web.config "customErrors에"태그 "오류의 옐로우 페이지"를 피하기 위해 :

    <customErrors mode="On" defaultRedirect="~/Error.aspx"> 
         <error statusCode="400" redirect="/error/400-bad-request/" /> 
         <error statusCode="404" redirect="/error/404-file-not-found/" /> 
         <error statusCode="500" redirect="/error/500-server-error/" /> 
    </customErrors> 
    

    2) 또한 로깅 오류에 Elmah를 사용해보십시오.

    ELMAH (오류 로깅 모듈 및 처리기)은 완전히 플러그 가능한 응용 프로그램 전체 오류 기록 기능입니다. 다시 컴파일하거나 다시 배포 할 필요없이 실행중인 ASP.NET 웹 응용 프로그램 또는 컴퓨터의 모든 ASP.NET 웹 응용 프로그램에 동적으로 추가 할 수 있습니다.

    ELMAH 실행중인 웹 응용 프로그램을 삭제하고 적절하게 구성되면, 당신은 당신의 단 한 줄의 코드를 변경하지 않고 다음과 같은 기능을 얻을 : 거의 모든 처리되지 않은 예외

    • 로깅.
    • 레코딩 된 예외의 전체 로그를 원격으로 보려면 웹 페이지.
    • 색상이 지정된 스택 추적을 포함하여 기록 된 예외에 대한 전체 세부 정보를 원격으로보기위한 웹 페이지입니다.
    • 많은 경우에있어 customErrors 모드가 꺼져 있어도 ASP.NET이 특정 예외에 대해 생성 한 원래 노란색 황색 화면을 검토 할 수 있습니다.
    • 각 오류가 발생한 시점의 전자 메일 알림입니다.
    • 로그에서 마지막 15 개 오류의 RSS 피드.
    +0

    감사 KPL, 나는 청문회 ELMAH는 오랫동안 여기 I : ELMAH 2. 구현 1. Global.asax에를 제외하고 3. Web.config의에서 리디렉션 코드를 썼다. 따라서 해결! – sajanyamaha

    관련 문제