原文地址:http://aspnet.4guysfromrolla.com/articles/031407-1.aspx
介紹
ASP.NET 2.0的健康監測系統是用來監測運營環境中ASP.NET程序的運行狀況的。 它的工作就是記錄事件信息到指定的日志源。 .NET 2.0框架中包含有多種可以被健康監測系統使用的內置事件,這些事件可以監測到程序的開始和停止、未處理異常、驗證失敗的信息等等。 .NET框架中也提供了記錄這些事件的方法,你可以把這些事件信息記錄到Windows事件日志、微軟的SQL Server數據庫、WMI、email或ASP.NET的頁面跟蹤系統。 在上一篇文章中我們看到(譯者注:中文在這裡),當使用即拿即用(out-of-the-box)的事件和日志源的時候,只要通過配置Web.config就可以讓健康監測系統正常地工作起來,而不需要寫任何代碼。
本文中,我們將繼續研究內嵌的事件和日志源來。 具體來說,我們將會了解如何使用WebFailureAuditEvent事件,在安全審核失敗的時候就會觸發這個事件。 我們也會知道如何使用SimpleMailWebEventProvider,顧名思義,就是通過email發送事件信息。 繼續往下看,你會知道得更多!
監測安全審核
上一篇文章中,我們已經討論過,所有的健康監測系統用到的事件必須繼承自WebBaseEvent類。 在System.Web.Management命名空間中,你會發現WebBaseEvent類有很多不同的子類,不同的子類中有不同類型的事件。 下圖可以讓你快速地了解各種事件的層次關系。 它顯示了健康監測系統的一些(不是所有)內置事件。 其中暗綠色的是與安全審核相關的事件,我們將在本文中一起探討這些事件。
要使健康監測系統能夠記錄這些事件,我們需要在Web.config裡的<healthMonitoring>節點下,對<eventMappings>和<rules>做一些配置。找到<eventMappings>節點,並使其映射一個名字到指定的事件。 在上一篇文章中,我們看到了兩個事件,分別是程序lifetime事件和錯誤事件。 所以,在<eventMappings>節點下已經有了兩個<add>元素。