天天看點

healthMonitoring與運作狀況監視

配置針對應用程式的運作狀況監視的一個服務

配置節内容比以往的較為複雜,如下

實際上這是運作狀況監視是一個事件定義與處理的模型,簡單來看整個運作狀況監視基本點有以下三個

1.在eventMappings定義事件

2.在providers定義事件的處理

3.通過rules綁定事件給某個處理程式去處理。

稍微豐富一點的話,還可以包含下面這幾點

1.事件可以帶參數,參數則定義在profiles中,也是在綁定事件時通過rules指定

2.處理程式可以具備緩沖功能,緩沖功能在在bufferModes中定義,在providers中指定給對應的處理程式。

配置中所有子節點都是一個集合,下面展示幾個關鍵個集合中元素的特性

eventMappings:件的友好名稱

name:事件友好的名稱(唯一辨別)

type:事件的完全限定類型名稱

startEventCode和endEventCode:指定事件代碼辨別符的其實範圍

profiles:事件配置

name:指定配置檔案名稱(唯一辨別)

minimumInstances:激發事件之前至少出現的次數

maximumLimit:指定門檻值,在達到該值後,将停止激發事件

minimumInterval:指定兩個事件之間的最小時間間隔,以 "hh:mm:ss" 的形式表示

providers:負責事件處理類型的集合

name:指定提供程式的友好名稱(唯一辨別)

type:指定對某個類的完全限定的程式集引用

buffer:指定提供程式是使用緩沖還是立即将每個事件發送給收件人,僅适用于type是 SqlWebEventProvider 類

bufferMode:指定提供程式使用的緩沖模式的名稱(如果提供程式處于緩沖模式)。此名稱必須引用 BufferModesCollection 集合中存在的現有緩沖模式之一;否則,将引發一個異常。如果打開了緩沖,則此屬性必須存在,僅适用于 SQLWebEventProvider 屬性。

rules:将事件映射到它的提供程式(給事件綁定處理類進行處理)

name:指定此規則的名稱

eventName、provider和profile:對其它配置節的關聯引用

minInstances:事件通知觸發前在給定應用程式内部的規則執行個體的最小數量

maxLimit:指定生成提供程式通知的規則執行個體的最大數量。

minInterval:指定兩個事件之間的最小時間間隔。

看profiles和rules中有相似的屬性存在,雖然同樣有最小次數、最大數量和最小時間間隔,而從文字上看,是先按照rules判斷,再按照providers進行判斷。

縱觀之前的描述和鄙人之前看的一篇部落格(看上去感覺在MSDN中抄了不少)。隻要了解了事件處理模型,這個配置節的内容以及它的功能則會好了解。架構中定義了若幹個事件,和若幹個事件處理程式。博文後的附錄部分則是ASP.NET中定義的事件和處理程式。開發人員有需要的話可以自己對其進行擴充,不過不管怎麼去改,也需要去添加一個新的rule。

另外,從博文或者從MSDN中也得知,如需要自己觸發事件,可調用WebBaseEvent的Raise()方法。

healthMonitoring與運作狀況監視
healthMonitoring與運作狀況監視

事件

healthMonitoring與運作狀況監視
healthMonitoring與運作狀況監視

事件處理程式