成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET項目開發(fā)中健康監(jiān)視淺析

開發(fā) 后端
ASP.NET項目開發(fā)中健康監(jiān)視向你介紹了什么是ASP.NET項目開發(fā)中的健康監(jiān)視,以及ASP.NET項目開發(fā)中健康監(jiān)視是如何實現(xiàn)的。

健康監(jiān)視(Health Monitoring),Health Monitoring是ASP.NET2.0以后版本添加的新的特性。它可以允許開發(fā)人員監(jiān)視應(yīng)用程序中發(fā)生的異常的事件。而且監(jiān)視應(yīng)用程序的啟動,關(guān)閉,驗證等都有相對應(yīng)的事件來監(jiān)視。而且我們還可以創(chuàng)建自定義的事件來監(jiān)視應(yīng)用程序中的特定的部分。我們也可以在Health Monitoring中配置把應(yīng)用程序中的異常是記錄在系統(tǒng)的日志中還是Sql Server中,或者是以Email形式發(fā)送出去。最重要的一點就是:只要通過配置,我們可以少寫,甚至不寫代碼就可以實現(xiàn)強大的異常處理策略(和類似Enterprise Application Blocks,我們后面會提到的)。

同樣,我們還是在web.config中添加配置,在system.web節(jié)點中添加﹤healthMonitoring /﹥節(jié)點:

默認情況下是禁用的,我們啟用就應(yīng)該如下:

ASP.NET項目開發(fā)中健康監(jiān)視Code1

  1. ﹤healthMonitoring enabled=”true﹥  
  2.   ﹤eventMappings﹥﹤/eventMappings﹥  
  3.   ﹤providers﹥﹤/providers﹥  
  4.   ﹤rules﹥..﹤/rules﹥  
  5.   ﹤profiles﹥..﹤/profiles﹥  
  6.   ﹤bufferModes﹥..﹤/bufferModes﹥  
  7.  ﹤/healthMonitoring﹥ 

下面就看看該節(jié)點下的一些配置:

eventMappings節(jié)點通過指定事件類型來注冊事件類。也就說,要注明我們在應(yīng)用程序中要監(jiān)聽哪些事件,如下配置:

  1. ﹤eventMappings﹥  
  2.   ﹤clear /﹥  
  3.   ﹤add name=”CustomException” type=”System.Web.Management.WebBaseErrorEvent” /﹥  
  4.  ﹤/eventMappings﹥ 

前面的"name"屬性是我們自己為后面的事件取的友好的名稱,從﹤eventMappings﹥的字面意思也可以知道:事件的映射。

后面的"type"就是我們要在程序中監(jiān)聽的事件。之前也說過,我們可以監(jiān)聽很多的事件:系統(tǒng)的啟動,關(guān)閉,驗證失敗等。

如上所見:"System.Web.Management.WebBaseErrorEvent" 是所有事件的基類。它的子類有很多:

WebApplicationLifetimeEvent--在應(yīng)用程序的運行過程觸發(fā)的事情,如,當應(yīng)用程序開啟,關(guān)閉時

WebAuthenticationFailureAuditEvent--當ASP.NET驗證失敗是觸發(fā)

WebAuthenticationSuccessAuditEvent--驗證成功時觸發(fā)

WebRequestErrorEvent--請求出錯時觸發(fā)

除此之外,我們還可以自定義一些類,派生自基類。

當我們確定了要監(jiān)聽的事件之后,我們就要選擇事件的provider,也就說,事件觸發(fā)后,我們把事情的信息記錄到那里。
配置如下:

  1. ﹤providers﹥  
  2.  ﹤clear /﹥  
  3.  ﹤add name=”EventLogProvider” type=”System.Web.Management.EventLogWebEventProvider” /﹥  
  4. ﹤/providers﹥ 

這之前一樣:System.Web.Management.EventLogWebEventProvider是個基類,有很多的子類,這些子類可以使得我們把異常的記錄在如sql數(shù)據(jù)庫中,系統(tǒng)日志中等:

SqlWebEventProvider--把異常信息記錄到數(shù)據(jù)庫中的提供程序

SimpleMailEventProvider--把異常信息通過Email發(fā)送的提供程序

還有一些,大家參看MSDN。

好了,到這里,我們把要監(jiān)聽的事件選擇好了,如要監(jiān)聽WebApplicationLifetimeEvent,WebRequestErrorEvent;而且我們也準備把異常系統(tǒng)通過Email發(fā)送,我們選擇了SimpleMailEventProvider,通過也想把異常記錄到數(shù)據(jù)庫中,我們也選擇了SqlWebEventProvider。那么我們的配置就如下:

ASP.NET項目開發(fā)中健康監(jiān)視Code2

  1. ﹤healthMonitoring enabled=”true﹥  
  2.   ﹤eventMappings﹥  
  3.    ﹤clear /﹥  
  4.    ﹤add name=”CustomException” type=”System.Web.Management.WebApplicationLifetimeEvent” /﹥  
  5.    ﹤add name=”AnotherException" type=”System.Web.Management.WebRequestErrorEvent” /﹥  
  6.   ﹤/eventMappings﹥  
  7.  
  8.   ﹤providers﹥  
  9.    ﹤clear /﹥  
  10.    ﹤add name=”EmailProvider” type=”System.Web.Management.SimpleMailEventProvider” /﹥  
  11.    ﹤add name=”SqlProvider” type=”System.Web.Management.WebRequestErrorEvent” /﹥  
  12.   ﹤/providers﹥  
  13.     
  14.  ﹤/healthMonitoring﹥ 

注意:providers節(jié)點中的"name"屬性也是我們自己取的友好的名稱。

好了,該定義的定義好了,現(xiàn)在還是不能按照我們的要求工作,那是因為我們還缺少一個"規(guī)則":
如下:

ASP.NET項目開發(fā)中健康監(jiān)視Code3

  1. ﹤rules﹥  
  2.   ﹤clear /﹥  
  3.   ﹤add name=”Unhandled Exceptions Rule”  
  4.    eventName=”Unhandled Exceptions”  
  5.    provider=”EventLogProvider”  
  6.    profile=”Default”  
  7.    minInstances=”1”  
  8.    maxLimit=”Infinite”  
  9.    minInterval=”00:00:00” /﹥  
  10.  ﹤/rules﹥ 

實際上,rules就是把我們之前定義的要監(jiān)聽的事件和相應(yīng)的provider對象上來:

  1. ﹤rules﹥  
  2.  ﹤clear /﹥  
  3.  ﹤add name=”MyRules1”  
  4.   eventName=”CustomException”  
  5.   provider=”EmailProvider”  
  6.   profile=”Default”  
  7.   minInstances=”1”  
  8.   maxLimit=”Infinite”  
  9.   minInterval=”00:00:00” /﹥  
  10. ﹤/rules﹥ 

注意上面的name屬性,其實和之前一樣,我們是給這個規(guī)則取個名字而已。eventName就是之前我們定義的事件名稱,如"CustomException",provider為之前定義的“EmailProvider” ,本條規(guī)則就是說,讓EmailProvider來處理CustomException的異常信息。其他的同理。

***一點要注意的就是:如果我們決定發(fā)送Email,那么我們還要配置節(jié)點: 

  1. ﹤system.net﹥  
  2.   ﹤mailSettings﹥  
  3.    ﹤smtp deliveryMethod=”PickupDirectoryFromIis”﹥  
  4.     ﹤network defaultCredentials=”true” host=”127.0.0.1” /﹥  
  5.    ﹤/smtp﹥  
  6.   ﹤/mailSettings﹥  
  7.  ﹤/system.net﹥ 

這樣就行了。

ASP.NET項目開發(fā)中健康監(jiān)視的基本信息就向你介紹到這里,希望這樣的介紹對你理解ASP.NET項目開發(fā)中健康監(jiān)視有所幫助。

【編輯推薦】

  1. ASP.NET Request對象使用實例淺析
  2. ASP.NET(VB)應(yīng)用之圖片增加水印文字淺析
  3. ASP.NET頁面框架概念淺析
  4. ASP.NET項目開發(fā)中應(yīng)用程序異常處理淺析
  5. ASP.NET項目開發(fā)中常見異常處理及web.config配置淺析
責任編輯:仲衡 來源: cnblogs
相關(guān)推薦

2009-08-07 15:24:16

ASP.NET模板控件

2009-07-29 17:20:18

應(yīng)用程序異常

2009-08-10 18:24:29

ASP.NET開發(fā)環(huán)境

2009-08-05 15:50:13

ASP.NET優(yōu)點

2009-07-31 12:43:59

ASP.NET MVC

2009-08-05 18:36:12

ASP.NET Che

2009-07-24 13:41:15

ASP.NET AJA

2009-08-07 15:34:15

ASP.NET數(shù)據(jù)綁定

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設(shè)計

2009-07-21 10:05:10

ASP.NET配置文件

2009-07-22 14:23:39

URL RewriteASP.NET

2009-07-28 15:53:43

ASP.NET Web

2009-07-28 16:40:11

ASP.NET異步頁面

2009-08-04 17:00:09

ASP.NET禁用Vi

2009-07-23 14:31:20

ASP.NET MVC

2009-07-20 16:23:01

ASP.NET授權(quán)模塊

2009-08-05 14:46:17

ASP.NET url

2009-07-28 13:35:18

2009-07-27 10:18:12

TypeResolveASP.NET

2009-07-28 09:32:41

ASP.NET自定義控
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲精品久久久久久一区二区 | 一区二区三区免费在线观看 | 亚洲黄色一级 | 在线视频 亚洲 | 日韩无| 欧美专区日韩专区 | 欧美专区在线观看 | 96久久久久久 | 天堂资源视频 | 国产高清自拍视频在线观看 | 国产一区二区三区www | 国产一级一级国产 | h在线免费观看 | 久久伊| 欧美美女一区二区 | 欧美精品久久久久久久久久 | 午夜在线视频 | 亚洲久视频 | 国产精品永久久久久久久www | 日韩精品1区2区3区 国产精品国产成人国产三级 | 日韩精品人成在线播放 | 一区二区视频在线观看 | 日韩精品在线看 | 欧美一级片在线观看 | 97av视频在线观看 | 亚洲不卡av在线 | 国产精品视频一区二区三区四蜜臂 | 欧美精品一区三区 | 最新日韩在线视频 | 国产精品久久9 | 国产乱码精品一品二品 | 6080亚洲精品一区二区 | 亚洲视频第一页 | 亚洲精品v日韩精品 | 伊人导航 | 久久精品视频91 | 免费一级片 | 操人网| 中文字幕日韩一区 | 婷婷丁香在线视频 | 亚洲激情在线观看 |