2010-01-25 86 views
4

我想在ASP.NET應用程序上實現異常處理。你如何建議我實現它?有些要求是:發生異常時 在ASP.NET 3.5中實現異常處理

  • 管理員應該會得到異常的詳細
  • 我知道有實現異常(例如幾種方式的電子郵件

    • 用戶會看到一個友好的頁面:登錄消息在事件查看器中)

      什麼是推薦的方法?

    回答

    2

    推薦的方法實際上取決於您需要如何處理錯誤信息。

    對於簡單的應用程序,只需設置web.config文件以重定向到友好的錯誤頁面就足夠了。

    通過使用Global.asax Application_Error事件處理它們,將未處理的錯誤信息記錄到數據庫,文件,Windows應用程序日誌或Web服務通常是一個好主意。你也可以使用web.config來獲得你的友好的頁面。一般來說,我不會推薦使用Windows錯誤日誌,因爲它們往往有點呆滯,但沒有錯。

    對於非常詳細的操作信息,包括警告和信息消息,工具如log4net被廣泛使用。通常情況下,您可以將此路線用於產品或企業級應用程序,其中您的支持團隊需要儘可能多的信息來診斷錯誤。

    MSDN有一個walkthrough的一些基本的錯誤處理設置,你可以用它們做什麼。

    2

    我寫了一篇文章關於這一點,我覺得你真的很喜歡

    http://dotnetblogger.com/post/2008/12/03/ASPNET-Health-Monitor.aspx

    至於友好的頁面位,我只是使用內置的異常處理在web.config中...因爲你正在執行global.asax中的未知異常東西。你也可以處理try/catch塊中的異常,並在需要時添加一個註釋。然後將數據庫綁定到一個漂亮的gridview,以便管理員輕鬆查看錯誤。

    +0

    在我的文章中有一些評論顯示了其他一些選項(內置和第三方),但我仍然認爲我的方法是最可定製的。我現在在我的所有項目中都使用它。 – 2010-01-25 00:31:14

    0

    我有一個很好的可重用的HttpModule,你可以看看here。它可以用來輕鬆處理普通用戶請求期間發生的異常以及後臺線程中發生的異常。