欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【ASP.NET中用healthMonitor属性用法】,下面是详细的分享!
ASP.NET中用healthMonitor属性用法
在ASP.NET 2.0中,可以使用healthMonitoring属性监测事件。healthMonitoring属性是一个基于方法的provider,在这里可以构造自己的provider。利用healthMonitoring属性,我们可以诸如记录错语、成功的事件等,对不同的数据源,如事件日志,Sql Server甚至对于自己通过继承WebEventProvider类创建自己的providers。在此文章中,我打算介绍配置一个监测SqlServer错语的并且对某人的电子信箱地址发送邮件的web应用程序。首先,看一下在web.config中的healthMonitoring程序片段,在此可以建立将要用到的事件。
| 以下为引用的内容: <healthMonitoring Enabled="true|false" heartBeatInterval="time interval"> <bufferModes>... </bufferModes> <providers>... </providers> <eventMappings>... </eventMappings> <profiles>... </profiles> <rules>... </rules> </healthMonitoring> |
如果看一下<healthMonitoring>元素,就可以判断是否可以将设置属性为有效或无效,也可以指定对WebHeaderBeatEvent被唤醒的时间间隔。healthMonitoring有5个孩子。
bufferModes,在此可以定义一个Provider的缓冲区大小。
Providers,在此说明处理事件的Providers。
eventMappings, 在此可以画出与友好事件类型相关的事件名称。
profiles, 在此定义一个可以用来配置事件的参数集集合。
rules, 在此画出Providers的事件图。
可以阅读更多含在VS 2550文档中的关于这些元素的东西。
在继续之前,这里有一份含ASP.NET中的一些Providers清单:
| 以下为引用的内容: System.Web.Management.MailWebEventProvider System.Web.Management.SimpleMailWebEventProvider System.Web.Management.TemplatedMailWebEventProvider System.Web.Management.TraceWebEventProvider System.Web.Management.EventLogWebEventProvider System.Web.Management.SqlWebEventProvider System.Web.Management.WmiWebEventProvider |
不需要解释这些,名字告诉我们它们是干什么的。还要提一下SqlWebEventProvider依靠Sql server而工作,它将事件存储在aspnet_Web_Event表。为了安装此数据库,必须运行位于framework文件夹中的aspnet_regsql.exe向导。
现在,配置对Sql server provider有登录错语并且发送一个电子邮件而产生错误的程序。
下面是一个使用SqlWebEventProvider和SimpleMailWebEventProvider来存错语事件的例子。
| 以下为引用的内容: <healthMonitoring enabled="true" heartBeatInterval="0"> <add name="Analysis" maxBufferSize="1000" maxFlushSize="100" urgentFlushThreshold="100" </bufferModes> <add name="CriticalMailEventProvider" type="System.Web.Management.SimpleMailWebEventProvider, System.Web ..." from=info@nsquared2.net to=fnormen@hotmail.com priority="High" bodyHeader="Warning!" <add name="SqlWebEventProvider" type="System.Web.Management.SqlWebEventProvider, System.Web ..." </providers> <eventMappings> <add name="All Errors" type="System.Web.Management.WebBaseErrorEvent, System.Web ..."/> </eventMappings> <profiles> <add name="Default" minInstances="1" maxLimit="Infinite" minInterval="00:10:00"/> </profiles> <rules> <add name="All Errors Default" eventName="All Errors" provider="SqlWebEventProvider" profile="Default" <add name="Request Processing Errors" eventName="Request Processing Errors" provider="CriticalMailEventProvider" profile="Default"/> </rules> </healthMonitoring> |
在此例子中,使用Sql provider来记录所有错语事件,并且当Web请求错误事件被唤醒时使用mail provider来发送一个消息。
这里有一些ASP .NET 2.0一起发布的事件:
| 以下为引用的内容: System.Web.Management.WebBaseEvent System.Web.Management.WebHeartBeatEvent System.Web.Management.WebApplicationLifetimeEvent System.Web.Management.WebRequestEvent System.Web.Management.WebBaseErrorEvent System.Web.Management.WebErrorEvent System.Web.Management.WebRequestErrorEvent System.Web.Management.WebAuditEvent System.Web.Management.WebFailureAuditEvent System.Web.Management.WebSuccessAuditEvent System.Web.Management.WebManagementEvent System.Web.Management.WebViewStateFailureAuditEvent System.Web.Management.WebAuthenticationFailureAuditEvent System.Web.Management.WebAuthenticationSuccessAuditEvent |
可以使用这些事件来对一个provider画图。也可以创建通过WebBaseEvent类继承来的自己的事件。
为自动唤醒一个事件,可以使用WebBaseEvent类的唤醒方法:
| 以下为引用的内容: try catch(Exception e) or: if (HealthMonitoringManager.Enabled) |
以上所分享的是关于ASP.NET中用healthMonitor属性用法,下面是编辑为你推荐的有价值的用户互动:
相关问题:ASP.Net中一些属性的作用
答:Isvalid When performing form validation, you can check the IsValid property for each Validation control to check whether each form field was completed successfully. Alternatively, you can simply check the IsValid property of th... >>详细
相关问题:ASP.NET ValidationGroup属性的作用和用法是什么?
答:这个属性的作用是提供验证的,是使用该属性将单个控件与验证组相关联。 此属性大多数情况下用在表单中存在多个按钮的情况下 其中group是要验证的控件组; 下面是实例: >>详细
相关问题:100分,asp.net如何为控件增加属性
答:1> 在aspx页面中要实现单击一个按钮(服务器端控件)来关闭当前页面,只需要在aspx页面的page_load()方法中加入下列语句: this.btnClose.Attributes.Add("onclick","window.close()");//btnClose是按钮的名字,此语句是给其添加一个单击属性,调... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
