healthMonitoring與運行狀況監視

来源:http://www.cnblogs.com/HopeGi/archive/2016/09/20/5887475.html
-Advertisement-
Play Games

配置針對應用程式的運行狀況監視的一個服務 配置節內容比以往的較為複雜,如下 實際上這是運行狀況監視是一個事件定義與處理的模型,簡單來看整個運行狀況監視基本點有以下三個 1.在eventMappings定義事件 2.在providers定義事件的處理 3.通過rules綁定事件給某個處理程式去處理。 ...


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

   

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

<healthMonitoring 
Enabled="true|false"
heartbeatInterval="time interval">
<bufferModes>...</bufferModes>
<providers>...</providers>
<eventMappings>...</eventMappings>
<profiles>...</profiles>
<rules>...</rules>
</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()方法。

   

<eventMappings>
<add name="All Events" type="System.Web.Management.WebBaseEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647"/>
<add name="Heartbeats" type="System.Web.Management.WebHeartbeatEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647"/>
<add name="Application Lifetime Events" type="System.Web.Management.WebApplicationLifetimeEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647"/>
<add name="Request Processing Events" type="System.Web.Management.WebRequestEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647"/>
<add name="All Errors" type="System.Web.Management.WebBaseErrorEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647"/>
<add name="Infrastructure Errors" type="System.Web.Management.WebErrorEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"                                                                                                                                                                                                                                                                                                                                                                                 startEventCode="0" endEventCode="2147483647"/>
<add name="Request Processing Errors" type="System.Web.Management.WebRequestErrorEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647"/>
<add name="All Audits" type="System.Web.Management.WebAuditEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647"/>
<add name="Failure Audits" type="System.Web.Management.WebFailureAuditEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     startEventCode="0" endEventCode="2147483647"/>
<add name="Success Audits" type="System.Web.Management.WebSuccessAuditEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 startEventCode="0" endEventCode="2147483647"/>
</eventMappings>
事件
<add name="EventLogProvider" type="System.Web.Management.EventLogWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"/>
<add connectionStringName="LocalSqlServer" maxEventDetailsLength="1073741823" buffer="false" bufferMode="Notification" name="SqlWebEventProvider" type="System.Web.Management.SqlWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"/>
<add name="WmiWebEventProvider" type="System.Web.Management.WmiWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"/>
事件處理程式

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 觀察情況一(字元串實例直接賦值給string類型的變數): 分析: 通過調試看出,兩個變數存儲的記憶體地址是一樣的,這個記憶體地址其實指向的是字元串常量區 圖解: 原理: 創建一個字元串對象,系統會先掃描常量區有沒有相同值的字元串,如果有,就直接返回常量區對應的地址 。 觀察情況二(通過 new 關鍵字 ...
  • 1、簡單控制項 Label - 文字,編譯後顯示的是<span> 一說到邊框:1、顏色 2、類型,比如solid實線3、width寬度Literal -裡面可以承載很多東西,比如文字,比如alert彈出視窗,傳遞JSt代碼 TextBox - 文本框 TextMode - 文本框類型,可以設置成pas ...
  • 很久在這裡寫博客。很多時候匹配紋理圖片和多邊形匹配,手工設置往往非常繁瑣,於是寫了一段從紋理圖片提取邊緣多邊形的代碼。但這份代碼只能提取“實心”的多邊形,並且只支持了一個多邊形。當然如果需要可以擴展使之能夠提取多個多邊形。基本思路如下: 1、快速填充紋理中被設為透明的部分。並獲得一個邊緣種子。 2、 ...
  • 1、簡單控制項 ①label 作用是顯示文字,編譯後的結果是span 邊框--邊框顏色,邊框樣式,邊框粗細 ②literal 作用是顯示文字,編譯後的結果不會生成任何元素,主要是用於傳遞JavaScript代碼 ③TextBox 文字輸入框 TextMode--SingleLine 被編譯為 type ...
  • 1.資料庫名為Demo,數據結構如圖 2.後臺代碼如下 ...
  • 1. 類和結構能夠實現介面 2. 介面聲明包含如下四種類型:屬性、方法、事件和索引;這些函數聲明不能包含任何實現代碼,而在每一個成員的主體後必須使用分號 3. 繼承介面的類或結構必須實現介面中的所有成員 4. 顯示介面的實現註意下麵的代碼 ...
  • 走進非同步編程的世界 - 在 WinForm 中執行非同步操作 序 這是繼《開始接觸 async/await 非同步編程》、《走進非同步編程的世界 - 剖析非同步方法》後的第三篇。主要介紹在 WinForm 中如何執行非同步操作。 目錄 在 WinForm 程式中執行非同步操作 在 WinForm 中使用非同步 L ...
  • 背水一戰 Windows 10 之 控制項(進度類): RangeBase, Slider, ProgressBar, ProgressRing ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...