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();
}
相关文章:

用 Python 动态可视化,看看比特币这几年
作者 | 刘早起来源 | 早起Python头图 | 下载于视觉中国最近几年,一直站在风口浪尖的比特币被追捧为最佳的投资产品,拥护者们认为这种加密货币是一种类似于黄金的储值工具,可以对冲通胀和美元疲软。其他人则认为,比特币的暴涨只是一…

违规用户处理办法
2019独角兽企业重金招聘Python工程师标准>>> 1.简单设置用户信赖状态 给用户设置信任字段,0不可信任,1默认许可(默认值),2可信赖用户 当用户违规后,对其进行惩罚并设置其为 不可信赖状态&#…

linux同步软件
linux同步软件:scp,rsync,inotify,sersync一、scpscp就是secure copy,是用来进行远程文件拷贝的。数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 。 与rcp 不同的是,scp 在需要进行验证时会要求你…

C语言内联函数
内联函数也称内嵌函数,它主要解决程序的运行效率。 #####################问题######################################### 函数调用需要建立栈内存环境,进行参数传递,并产生程序执行转移,这些转移都需要时间开销。 有些函数在程序…

Maximum Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest sum. For example, given the array [−2,1,−3,4,−1,2,1,−5,4],the contiguous subarray [4,−1,2,1] has the largest sum 6. Code: class Solution { public:int …

从Python到AI,这条路好走吗?
大家都在学Python的时候,怎么才能让自己更有竞争力?Python 的应用方向有很多,基本每个方向都是大热门,但至今为止,人工智能行业仍处于人才稀缺的情况。正因这样,近几年来,AI 成为了广大 Python …

微信小程序server-1-搭建HTTPS server
一.使用 Node 和 Express 搭建一个 HTTP 服务器 1.在app.js修改小程序通信域名 App({config: {host: // 这个地方填写你的域名},onLaunch () {console.log(App.onLaunch());} }); 2.安装 NodeJS 和 NPM yum install nodejs npm -y node -v 3.编写HTTP服务源码 touch package.j…

被“钱”困住的开源开发者们!
「Given enough eyeballs,all bugs are shallow.」(只要有足够多的眼睛,就可以让所有 Bug 浮现)1997 年,随着《大教堂与集市》的到来,开源新时代的号角正式吹响,也将 Linus 法则深深地烙印在开源…

PHP连接MySQL的2种方法以及防止乱码
PHP的MySQL配置 报错信息:Class mysqli not found in Answer: 1.在conf/php.ini中,在vim用"/php_mysql"搜索到extensionphp_mysql.dll,去掉前面的";", 同时在下面增加extensionphp_mysqli.dll; 注意后面那个dll多了个i 2."/extension_dir&…

nodejs npm install -g 全局安装和非全局安装的区别
1. npm install xxx -g 时, 模块将被下载安装到【全局目录】中。 【全局目录】通过 npm config set prefix "目录路径" 来设置。 比如说,当我们使用了npm install -g express安装了express框架后, 我们就可以在电脑里的某一个文件夹…

Windows平台上实现P2P服务(三)
2019独角兽企业重金招聘Python工程师标准>>> 我们已经建立好一个UDP的服务程序了,下面我们要给这个服务程序添加服务内容了。 其服务内容将根据通讯的客户端请求来进行定义和处理。首先我们再回顾一下通讯内容的定义: /// <summary>信息…

ASP.NET 2.0数据处理之高级分页/排序
GridView控件中的"选择"操作纯粹是一个UI概念,它的SelectedIndex属性与表格的可视数据行中的当前被选中的行的索引相对应。如果你启用了表格的分页和排序功能,在执行分页或排序操作之后,SelectedIndex的值仍然不会变化,…

rpcgen的简单讲解及例子程序
rpcgen 简介 rpcgen可以自动生成RPC服务器程序的大多数代码,它的输入为一个规格说明文件,它的输出为一个C语言的源程序。规格文件(*.x)包含常量、全局数据类型以及远程过程的声明。Rpcgen产生的代码包含了实现客户机和服务器程序所…

Python 捕获警告
来源 | 写代码的明哥责编 | 寇雪芹头图 | 下载于视觉中国警告不是异常你是不是经常在使用一些系统库或者第三方模块的时候,发现一些既不是异常也不是错误的警告信息?这些经常出现的警告信息,容易让新手造成一些误判,以为是程序出错…

python装饰器+迭代器+生成器
1.函数嵌套:在调用一个函数的过程中,调用了其他函数 def f1():x1def f2():print(from f2)f2() f1() 2.名称空间与作用域 a. 名称空间:存放名字与变量值绑定关系的地方 (1)内置名称空间:在python解释器启动…

ASP.NET中绑定枚举类型
在项目开发中好多地方用了枚举,要把枚举显示到下拉列表框中我们平常的方法就是在下拉列表控件中一个一个添加进去!这样做也行但如果我的枚举类型中的枚举值一旦改变,那么你就得满世界的去找然后再修改很麻烦。这里我有反射动态的绑定枚举值就…

Java 领域offer收割:程序员黄金 5 年进阶心得!
怎样才能拿到大厂的offer?没有掌握绝对的技术,那么就要不断的学习。如何拿下阿里等大厂的offer的呢,今天分享一个秘密武器,资深架构师整理的Java核心知识点,面试时面试官必问的知识点,篇章包括了很多知识点…

视频专辑:Photoshop基础视频教程
为什么80%的码农都做不了架构师?>>> 专辑:Photoshop基础视频教程 简介:Photoshop基础视频教程 1 1. 软件界面介绍 [photoshop基础教程] 2013-10-31 11:56 | 播放(6) | 评论(0) | 时长:42:44 2 2. 工行LOGO分析及制作1 [photoshop基础教程…

linux运维如何月薪过万?(收藏自用)
作者:汤哥在北京链接:https://www.zhihu.com/question/27505552来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。IT行业,是近些年相当火的一个专业,从事于IT行业的工作人员也…

当深度学习遇上图: 图神经网络的兴起 | 赠书
什么是图也许我们从来没有意识到,我们正生活在一个充满图的世界。例如,我们最熟悉的社交网络(如下图所示),就是一个最典型的图。在计算机领域,我们通常用图指代一种广义的抽象结构,用来表示一堆…

Asp.net 2.0 中将网站首页生成静态页的一个比较好的方法
做网站时,有时为了提高性能会将网站首页生成静态页(当然, Asp.net中页面缓存也是一个不错的选择了 将页面生成静态的方法有多中,据不完全统计有N种(N>1) 呵呵 以下的方法来自 "孟子E " 解释的方法 代码如下 protected override void Render(HtmlTextWriter wri…

[转]解决Eclipse中编辑xml文件的智能提示问题
转自:http://hi.baidu.com/cghroom/item/48fd2d0dc1fc23c675cd3c3e 摘要: Eclipse for Android xml 文件代码自动提示功能,介绍Eclipse 编辑器中实现xml 文件代码自动智能提示功能,解决eclipse 代码提示失效、eclipse 不能自动提…

温水里的程序员,技术将淘汰一切。
七月,炎炎的夏日,疯狂的暴雨不分昼夜,侵袭着这座城。早上七点,我骑着摩拜单车出发去往地铁站,誓死如归一般的,挤进地铁。像往常一样,骑车、挤地铁、打卡上班。相 信大家都跟我一样,未…

ASP.net 2.0下应用程序离线信息
ASP.net 2.0 有一个新特性,就是支持应用程序离线信息。 什么是离线信息呢?以前我们在更新应用程序,导至asp.net应用程序重启,应用程序的用户通常会显示不友好的错误信息,或者IE一直显示加载状态。 ASP.net 2.0支持您…

Lync server 2013 之office web apps server 搭建步骤
office web apps server 搭建步骤:一、.NET Framework 4.5 节点下的HTTP 激活.NET Framework 3.5Windows Identity Foundation 3.5Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-Conte…

360数科发布2020全年财报:全年收入上涨47.1%,科技为运营效率提供第一动力
3月16日,360数科发布2020年第4季度及全年未经审计的财务报告。2020财年,360数科实现收入135.64亿元,较2019年92.2亿元增长47.1%;非美国会计准则(Non-GAAP)下净利润为37.97亿元,较2019年27.52亿元…

内存分配器memblock【转】
转自:http://blog.csdn.net/kickxxx/article/details/54710243 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[-] 背景 Data structurememblock initializationmemblock API memory和reserved regionmemblock_reservedmemblo…

with admin option /with grant option
1. with admin option是用在系统权限上的,with grant option是用在对象权限上的。 SQL> grant create synonym to scott with grant option;grant create synonym to scott with grant option *第 1 行出现错误:ORA-01939: 只…

第四层到第七层的高层交换技术及其应用
1 前言Internet的特点就是不断变化发展,目前网络上的信息量和业务量都呈现爆炸性的增长趋势。不断增长的负荷和新需求的出现,使得用单台服务器处理应用服务的结构已成为过去,取而代之的是以单一虚拟IP地址(VIP)来代表整个服务器集群&#x…

赠书 | 315之后,无人旁观时我们是谁
315的曝光,让人脸信息被随意采集、简历被低价出卖等话题受到公众热议。然而,不知道有多少人,直到这一场晚会才知道,原来自己始终是被悄悄“出卖”的人。智联招聘声称拥有1.8亿用户,视用户信息安全与隐私保护为自己“生…