2012-04-03 3 views
0

У меня есть код (он находится в Интернете) для обработки ошибки приложения. Я написал в журнале событий.Обработка ошибок уровня приложения

void Application_Error(object sender, EventArgs e) 
     { 
      Exception myError = null; 

      if (HttpContext.Current.Server.GetLastError() != null) 
      { 
       string eventLog = "MySite"; 
       string eventSource = "www.mysite.com"; 
       string myErrorMessage = ""; 

       myError = Server.GetLastError(); 

       while (myError.InnerException != null) 
       { 
        myErrorMessage += "Message\r\n" + 
         myError.Message.ToString() + "\r\n\r\n"; 
        myErrorMessage += "Source\r\n" + 
         myError.Source + "\r\n\r\n"; 
        myErrorMessage += "Target site\r\n" + 
         myError.TargetSite.ToString() + "\r\n\r\n"; 
        myErrorMessage += "Stack trace\r\n" + 
         myError.StackTrace + "\r\n\r\n"; 
        myErrorMessage += "ToString()\r\n\r\n" + 
         myError.ToString(); 

        myError = myError.InnerException; 
       } 

       if (EventLog.SourceExists(eventSource)) 
       { 

        EventLog myLog = new EventLog(eventLog); 
        myLog.Source = eventSource; 


        myLog.WriteEntry("An error occurred in the Web application " 
        + eventSource + "\r\n\r\n" + myErrorMessage, 
         EventLogEntryType.Error); 
       } 
      } 
     } 

Это строки из журнала событий:..

Type Date   Time  Source   Event    Category 
Error 03.04.2012 16:44:41 www.mysite.com 0 "An error occurred in the Web application www.mysite.com 

" 
Error 03.04.2012 16:43:31 www.mysite.com 0 "An error occurred in the Web application www.mysite.com 

" 
Error 03.04.2012 16:42:56 www.mysite.com 0 "An error occurred in the Web application www.mysite.com 

" 
Error 03.04.2012 16:42:56 www.mysite.com 0 "An error occurred in the Web application www.mysite.com 

" 
Error 03.04.2012 16:42:54 www.mysite.com 0 "An error occurred in the Web application www.mysite.com 

" 
Error 03.04.2012 16:37:27 www.mysite.com 0 "An error occurred in the Web application www.mysite.com 

"

Как вы заметили ошибку, происходит примерно один раз в секунду, но информация об ошибке пустому
Что такое Неверный код:

ответ

0

Проблема в этой строке imo

while (myError.InnerException != null) 

Вы пишете деталь ошибки, только если имеется InnerException, но это не всегда верно

Вы также забыли позвонить

Server.ClearError(); 

В конце вашей обработки (но Я думаю, это выбор)

 Смежные вопросы

  • Нет связанных вопросов^_^