我是新手,當談到錯誤處理。這是一個我想研究的主題,但現在我只是沒有空閒時間,所以我期待實現一個錯誤/異常處理程序,這是我上週開發的一些項目(C#,.NET 3.5)。ASP.NET - 錯誤/異常處理程序(尋找一些項目)
你推薦我爲此執行什麼?其他一點是在哪裏存儲錯誤日誌。在數據庫或.xml文件中?那麼,我真的需要一些幫助!
順便說一句,有沒有關於錯誤處理的書?
由於提前, 吉列爾梅·卡多佐
我是新手,當談到錯誤處理。這是一個我想研究的主題,但現在我只是沒有空閒時間,所以我期待實現一個錯誤/異常處理程序,這是我上週開發的一些項目(C#,.NET 3.5)。ASP.NET - 錯誤/異常處理程序(尋找一些項目)
你推薦我爲此執行什麼?其他一點是在哪裏存儲錯誤日誌。在數據庫或.xml文件中?那麼,我真的需要一些幫助!
順便說一句,有沒有關於錯誤處理的書?
由於提前, 吉列爾梅·卡多佐
對於未處理的異常,您可能需要使用ELMAH。它超級簡單的設置 - 只是一個DLL和你的web.config中的一些設置。
Log4net是用於記錄各種來源的一個強大的工具。在我工作的地方,我們使用Enterprise Library中的日誌應用程序塊。你可以在他們的網站上閱讀這些資源。
至於記錄到XML文件與數據庫,每種方法都有權衡。使用本地文件可以減少運行應用程序需要多少易碎組件。想象一下,數據庫關閉了,你的應用程序嘗試登錄數據庫,數據庫關閉了......嗯。
在另一方面,記錄到數據庫,可以極大地提高你的查詢和對錯誤的性質是記錄到日誌中獲取情報的能力。
沒有人能告訴你,你絕對應該做什麼;只是權衡權衡和你的期望,你會很好走。
如果您想要進行一些自家釀造的錯誤處理,您可以使用Global.asax的Application_Error
方法並手動記錄HttpContext.Current.AllErrors
屬性的成員。您也可以在上下文中使用ClearError()
方法來清除錯誤,然後如果要記錄並繼續,則重定向到安全頁面。
祝你好運!
謝謝隊友。這是非常簡單的實現ELMAH,我也只需要添加在costumerrors的defaultRedirect中,現在,它的完成 感謝;) – 2010-09-13 16:42:55
@Guilherme - 沒問題(現在!)。我一直在我的項目中使用它。 – 2010-09-13 16:56:49