ASP.NET中用healthMonitor属性用法
<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">
<bufferModes>
<add name="Critical Notification" maxBufferSize="100" maxFlushSize="20"urgentFlushThreshold="1" regularFlushInterval="Infinite" urgentFlushInterval="00:01:00" maxBufferThreads="1"/>
<add name="Analysis" maxBufferSize="1000" maxFlushSize="100" urgentFlushThreshold="100"
regularFlushInterval="00:05:00" urgentFlushInterval="00:01:00" maxBufferThreads="1"/>
</bufferModes>
<providers>
<add name="CriticalMailEventProvider" type="System.Web.Management.SimpleMailWebEventProvider, System.Web ..." from=info@nsquared2.net to=fnormen@hotmail.com priority="High" bodyHeader="Warning!"
bodyFooter="Please investigate ASAP." subjectPrefix="Action required." buffer="true" bufferMode="Critical Notification" maxEventLength="4096" maxSize="4096" maxMessagesPerNotification="1"/>
<add name="SqlWebEventProvider" type="System.Web.Management.SqlWebEventProvider, System.Web ..."
connectionStringName="LocalSqlServer" maxEventDetailsLength="1073741823" buffer="true"
bufferMode="Analysis"/>
</providers>
<eventMappings>
<add name="All Errors" type="System.Web.Management.WebBaseErrorEvent, System.Web ..."/>
<add name="Request Processing Errors" type="System.Web.Management.WebRequestErrorEvent, 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"
minInterval="00:00:30"/>
<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)
{
if (HealthMonitoringManager.Enabled)
{
WebBaseEvent.Raise(new WebErrorEvent("My Error message", null, 5000, e));
}
}
or:
if (HealthMonitoringManager.Enabled)
{
WebErrorEvent event = new WebErrorEvent("My error message", null, 5000, e);
event.Raise();
}
转载于:https://www.cnblogs.com/China-Dragon/archive/2010/02/01/1661270.html
ASP.NET中用healthMonitor属性用法相关推荐
- ASP.NET中用healthMonitor属性用
在ASP.NET 2.0中,可以使用healthMonitoring属性监测事件.healthMonitoring属性是一个基于方法的provider,在这里可以构造自己的provider.利用hea ...
- asp.net中databinder.eval用法的总结
asp.net中databinder.eval用法的总结 <%# bind("subject") %> //绑定字段 <%# container.dataitem ...
- AjaxPro2在Asp.net中的基本用法
AjaxPro2在Asp.net中的基本用法 1. 引用ajaxPro2.dll到你的工程中. 2. 在Web.config中添加配置 <httpHandlers> ...
- Vue04 -- 计算属性用法(v-for的筛选排序)
<!DOCTYPE html> <html> <head><title>Vue --- 计算属性用法</title> </head&g ...
- Asp.Net中用javascript实现弹出窗口永远居中
//Asp.Net中用javascript实现弹出窗口永远居中 function ShowDialog(url) { var iWidth=600; //模态窗口宽度 var iHei ...
- ASP.NET @Page指令属性
ASP.NET @Page指令属性 @Page指令位于每个ASP.NET页面的顶部,告诉ASP.NET这个具体页面使用什么属性,以及该页面继承的用户控件.ASP.NET页面@Page指令属性有:Asp ...
- asp数组中REDIM的用法(动态数组)
asp数组中REDIM的用法(动态数组) 动态数组里面的一个语句,只能出现在过程里面,可以多次使用.可以改变数组大小,和维数 格式: REDIM [Preserve] 数组名(下标1[下标2....] ...
- HTML5 autofocus属性用法简单介绍
本章节简单介绍一下HTML5中新增的一个属性autofocus,它可以让一个元素加载后获取焦点,在此之前一般要通过使用javascript的focus()方法实现我们的要求,非常的简单,代码如下: 1 ...
- asp.net core EFCore 属性配置与DbContext
asp.net core EFCore 属性配置与DbContext 前言 Entity Framework (EF) Core 是轻量化.可扩展.开源和跨平台版的常用 Entity Framewor ...
- html里position属性,科技常识:详解html中 position属性用法(四种)
今天小编跟大家讲解下有关详解html中 position属性用法(四种) ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关详解html中 position属性用法(四种) 的相关资料,希望小 ...
最新文章
- Blender和Substance Painter制作科幻装甲视频教程
- 动物模型:急性肝脏损伤模型的构建及选择
- 第二阶段——个人工作总结DAY10
- XCTF WEB webshell
- Arrays.deepToString() 方法同时适用于基元数组和对象数组
- 阿里前端委员会主席圆心:未来前端的机会在哪里?
- Kubernetes Master High Availability 高级实践
- 《大数据》第1期“动态”——站在大数据的风口上
- MySQL 异常有这一篇就够了!
- ORACLE行转列通用过程(转)
- Q114:阅读PBRT-V3官方源代码的正确姿势
- MySQL_DBA整理
- Atitit 深入了解UUID含义是通用唯一识别码 (Universally Unique Identifier),
- 极客大学架构师训练营 框架开发 第三次作业
- MATLAB把型线图画静水力曲线,静水力曲线计算与绘制指导书
- Loadrunner教程–常用操做流程
- java中的source_Linux中source命令的用法
- 软件系统开发费用的估算——功能点方法 应用实例
- 农用地转为建设用地审批(农转用审批)
- SPA(单页面web应用)和MPA(多页面web应用)的区别
热门文章
- 推荐系统评测指标—精准率(Precision)、召回率(Recall)、F值(F-Measure)
- 【Caffe代码解析】SyncedMemory
- 如何取消恶心的chrome浏览器被360篡改劫持问题
- Differential Privacy差分隐私
- html怎么让背景颜色百分比,jquery – CSS设置背景颜色只是表行宽度的一个百分比...
- qt禁止拖动_Qt如何实现拖拽功能?
- 基于springboot的多人聊天系统
- Unity3D(二)游戏对象及组件
- 每日一技|活锁,也许你需要了解一下
- 使用 lanmps 环境套件安装设置新站点 案例