原文地址: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>元素。