亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET項目開發中健康監視怎么實現

發布時間:2021-12-06 15:09:14 來源:億速云 閱讀:111 作者:iii 欄目:編程語言

這篇文章主要講解了“ASP.NET項目開發中健康監視怎么實現”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ASP.NET項目開發中健康監視怎么實現”吧!

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

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

默認情況下是禁用的,我們啟用就應該如下:

ASP.NET項目開發中健康監視Code1

﹤healthMonitoring enabled=”true﹥    ﹤eventMappings﹥﹤/eventMappings﹥    ﹤providers﹥﹤/providers﹥    ﹤rules﹥..﹤/rules﹥    ﹤profiles﹥..﹤/profiles﹥    ﹤bufferModes﹥..﹤/bufferModes﹥   ﹤/healthMonitoring﹥

下面就看看該節點下的一些配置:

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

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

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

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

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

WebApplicationLifetimeEvent--在應用程序的運行過程觸發的事情,如,當應用程序開啟,關閉時

WebAuthenticationFailureAuditEvent--當ASP.NET驗證失敗是觸發

WebAuthenticationSuccessAuditEvent--驗證成功時觸發

WebRequestErrorEvent--請求出錯時觸發

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

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

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

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

SqlWebEventProvider--把異常信息記錄到數據庫中的提供程序

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

還有一些,大家參看MSDN。

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

ASP.NET項目開發中健康監視Code2

﹤healthMonitoring enabled=”true﹥    ﹤eventMappings﹥     ﹤clear /﹥     ﹤add name=”CustomException” type=”System.Web.Management.WebApplicationLifetimeEvent” /﹥     ﹤add name=”AnotherException" type=”System.Web.Management.WebRequestErrorEvent” /﹥    ﹤/eventMappings﹥     ﹤providers﹥     ﹤clear /﹥     ﹤add name=”EmailProvider” type=”System.Web.Management.SimpleMailEventProvider” /﹥     ﹤add name=”SqlProvider” type=”System.Web.Management.WebRequestErrorEvent” /﹥    ﹤/providers﹥       ﹤/healthMonitoring﹥

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

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

ASP.NET項目開發中健康監視Code3

﹤rules﹥    ﹤clear /﹥    ﹤add name=”Unhandled Exceptions Rule”     eventName=”Unhandled Exceptions”     provider=”EventLogProvider”     profile=”Default”     minInstances=”1”     maxLimit=”Infinite”     minInterval=”00:00:00” /﹥   ﹤/rules﹥

實際上,rules就是把我們之前定義的要監聽的事件和相應的provider對象上來:

﹤rules﹥   ﹤clear /﹥   ﹤add name=”MyRules1”    eventName=”CustomException”    provider=”EmailProvider”    profile=”Default”    minInstances=”1”    maxLimit=”Infinite”    minInterval=”00:00:00” /﹥  ﹤/rules﹥

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

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

﹤system.net﹥    ﹤mailSettings﹥     ﹤smtp deliveryMethod=”PickupDirectoryFromIis”﹥      ﹤network defaultCredentials=”true” host=”127.0.0.1” /﹥     ﹤/smtp﹥    ﹤/mailSettings﹥   ﹤/system.net﹥

這樣就行了。

感謝各位的閱讀,以上就是“ASP.NET項目開發中健康監視怎么實現”的內容了,經過本文的學習后,相信大家對ASP.NET項目開發中健康監視怎么實現這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹿泉市| 长春市| 衡山县| 延津县| 武胜县| 云霄县| 英吉沙县| 襄垣县| 共和县| 揭阳市| 锡林郭勒盟| 白银市| 临沧市| 读书| 临泉县| 古蔺县| 康马县| 平乡县| 东山县| 诏安县| 冷水江市| 弥勒县| 吉隆县| 白水县| 仪陇县| 理塘县| 驻马店市| 那曲县| 汝南县| 顺昌县| 富蕴县| 呼图壁县| 河西区| 兰州市| 绵竹市| 平潭县| 桃园市| 红原县| 达拉特旗| 越西县| 普陀区|