using System; using System.Web.Management; public class CustomEvent : WebBaseEvent { public const int EventCode = WebEventCodes.WebExtendedBase + 10; public MyEvent(string message, object eventSource) : base(message, eventSource, EventCode) { } }
<script runat="server"> void Page_Load(Object sender, EventArgs e) { // Raise a custom event MyEvent myEvent = new MyEvent("loading webevent sample page", this); myEvent.Raise(); } </script>
<!-- Event mappings define the events that are monitored --> <eventMappings> <add name="SampleWebRequests" type="Samples.AspNet.SampleWebRequestEvent, SampleWebRequestEvent, Version=0.0.0.0, Culture=neutral, PublicKeyToken=f0c63b9a560d5e5a"/> </eventMappings>
• |
所有事件。所有事件名称捕获任何
WebBaseEvent。这个事件类别是对被健康监视系统捕获的每个事件的一个广泛的 catch-all。
|
• |
检测信号。检测信号事件使用
WebHeartBeatEvent 提供关于 Web 应用程序状态的定期通知。
|
• |
应用程序生存期事件。应用程序生存期事件包括启动和停止应用程序,以及重新编译应用程序的部分或全部。这些事件是基于
WebApplicationLifetimeEvent 的,并且在
lifetime 事件发生时,报告日期、时间和当前的状态。
|
• |
所有错误。所有错误类别收集系统检测到的任何异常或错误。这些事件是基于
WebBaseErrorEvent 的。
|
• |
基础结构错误。使用
WebErrorEvent 捕获与 ASP.NET 运行库或 IIS 相关的错误。这些事件是所有错误类别的子类,并且主要与系统管理员而不是应用程序开发者相关。
|
• |
请求处理错误。在请求期间发生的任何错误或异常都会触发一个
WebRequestErrorEvent。这个事件记录了进入的请求以及与处理该请求相关联的错误。请求处理错误也是所有错误类别的一个子集。
|
• |
所有审核。可使用健康监视系统通过
WebAuditEvent 提供审核尝试。这个事件自动记录 Web 应用程序中活动用户的操作。如果您正在使用模拟,审核事件将帮助您对谁在使用您的应用程序,以及他们是如何在使用保持跟踪。
|
• |
失败审核。
WebFailureAuditEvent 是一个特殊的审核事件类型,当一个用户试图使用无效的用户名或密码登录您的 Web 站点时,它就会被触发。当一个对于指定资源用户是无法验证的时候,此事件也会发生。
|
• |
成功审核。
WebSuccessAuditEvent 是失败事件的对应,只要用户已验证或执行一些其他需要审核记录的操作就会发生。
|
<healthMonitoring Enabled="true" heartBeatInterval="0"> <!-- Providers link health events to various targets such as WMI or SMTP email --> <providers> <add name="WmiEventProvider" type="System.Web.Management.WebWmiEventProvider, System.Web,Version=1.2.3400.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> </providers>
<!-- Rules link events to providers and profiles, and define intervals for event checking --> <rules> <add name="Custom Database Events" eventName="CustomDBEvents" provider="WmiEventProvider" profile="Database" minInterval="00:01:00" /> <add name="Standard Web Requests" eventName="All Events" provider="SqlEventProvider" profile="Default" minInterval="00:01:00" /> </rules> </healthMonitoring>
• |
name。规则名称是友好名称,它会在事件被发送到接收器时出现。
|
• |
eventName。
eventName 映射到一个在 区域中配置的事件。
|
• |
provider。提供程序是一个到在 区域中配置的提供程序的链接。任何匹配这个规则的事件将通过这个提供程序传递给由该提供程序支持的目标。举例来说,
System.Web.Management.SqlWebEventProvider 会自动将事件写入到 SQL Server 数据库。
|
• |
profile。不同的提供程序将配置文件属性作为显示事件的过滤器来使用。举例来说,电子邮件提供程序可能立即为任何带有“紧急”配置文件的事件发送一个消息,但是也可能只发送带有该日“例行”配置文件事件的汇编的日常电子邮件。
|
• |
minInterval。一些事件,如检测信号,必须在最短的时间间隔内激发。您可以使用这个属性来设置最小事件时间间隔。
|