ASP.NET 2.0 中 Web 事件
2006/7/25 8:48:06

ASP.NET 2.0 還提供了全功能的應用程序監視和健康監視。這個系統是由一個完全可擴展事件模型和一個能將事件發送到多種接收器的事件引擎組成的。舉例來說,您可以配置您的 ASP.NET 應用程序來每天發送電子郵件,表明服務器正在運行并且包括可用內存的數量。同樣,您可以創建一個鏈接到未處理異常的健康事件。異常內容、請求標題以及時間和日期都可以被發送到一個錯誤日志記錄數據庫。
ASP.NET 2.0 包含了內置的事件,包括心跳、應用程序生存期事件(啟動/停止/編譯)和錯誤陷阱事件(未處理異常)。不過,,您可以很容易地在這些基類之上進行構建,以從應用程序重創建并引發您自己的事件。舉例來說,您可能創建一個自定義的事件來記錄何時第一百個用戶單擊某一特定的鏈接。
ASP.NET 2.0 健康監視系統真正強大的功能是,通過 web.config 和 machine.config 文件它是完全可配置的。使用正常的 XML,您能定義事件、定義提供程序(事件接收器),以及將特定的事件發送到特定的提供程序。 
創建事件
事件在結構上與異常是類似的。也就是說,除了作為一個消息容器,event 類本身幾乎沒有功能。在健康監視方面,所有事件都從 Sytstem.Web.Management.WebBaseEvent 繼承。不過,您也可以從用于專用目的(如收集 HTTP 請求數據或處理異常)的高級基類派生。 
列表 4. 自定義事件
using System;
using System.Web.Management;
public class CustomEvent : WebBaseEvent
{
  public const int EventCode = WebEventCodes.WebExtendedBase + 10;
  public MyEvent(string message, object eventSource)
                : base(message, eventSource, EventCode)
  { }
}
創建自定義事件的最重要部分是提供一個唯一的 EventCode。所有內置事件代碼都在 WebEventCodes 枚舉中。自定義事件應該有從 WebEventCodes.WebExtendedBase + 1 開始的數字。除此之外創建自定義事件中的唯一常見任務是正確地初始化事件。
使用事件
雖然內置事件自動激發,但您還是可以將代碼添加到應用程序以在任何時候啟動自定義事件。 
列表 5. 引發一個事件
<script runat="server">
  void Page_Load(Object sender, EventArgs e)
  { // Raise a custom event MyEvent myEvent =
          new MyEvent("loading webevent sample page", this); myEvent.Raise(); }
</script> 
當您從 ASP.NET 頁面引發一個事件時,您只是創建該事件的一個新實例然后執行 Raise() 方法。Raise() 方法將事件實例自動傳遞到健康監視引擎。然后此引擎將該事件映射到配置文件和提供程序,并將該事件移交給正確的提供程序。提供程序最終將事件傳遞到正確的接收器。 
配置健康監視
健康監視是在 machine.Config 或 Web.Config 文件中的新的 區域配置的。您可以配置 部分來設置一個周期性報告應用程序狀態的 Web 檢測信號。您也可以配置應用程序來生成事件,并將該事件通過各種提供程序傳遞。
配置事件
必須在事件映射區域標識每個事件。事件通過唯一名稱和完整類型被標識。事件名稱在規則區域是作為鏈接來使用的。
列表 6. 事件映射區域
<!-- Event mappings define the events that are monitored -->
<eventMappings>
    <add name="SampleWebRequests"
          type="Samples.AspNet.SampleWebRequestEvent, SampleWebRequestEvent,
                Version=0.0.0.0, Culture=neutral, PublicKeyToken=f0c63b9a560d5e5a"/>
</eventMappings> 
ASP.NET 2.0 附帶幾個內置事件,配置為下列名稱: 
• 所有事件。所有事件名稱捕獲任何 WebBaseEvent。這個事件類別是對被健康監視系統捕獲的每個事件的一個廣泛

下一頁
返回列表
返回首頁 主站蜘蛛池模板: 亚洲高清视频在线播放| 国产成人AAAAA级毛片| 一区二区三区无码高清视频| 日韩在线永久免费播放| 亚洲综合久久1区2区3区| 精彩视频一区二区| 国产免费丝袜调教视频| 亚洲人成777| 国产香蕉97碰碰视频VA碰碰看| 一二三四国语在线观看视频 | 亚洲精品无码人妻无码| 精品免费人成视频APP| 国产一区二区在线视频播放| 黑人操亚洲美女| 国产精品免费一区二区三区四区 | 国产91乱剧情全集| 风间由美性色一区二区三区 | 欧美成人免费全部| 亚洲色图第一页| 男女猛烈xx00免费视频试看| 名器的护士小说| 色综合色天天久久婷婷基地| 国产孕妇孕交大片孕| 亚洲婷婷第一狠人综合精品| 国产精品视频二区不卡| 99久久国产亚洲综合精品 | 国产无遮挡吃胸膜奶免费看| 337p色噜噜| 国内自拍视频一区二区三区| h在线观看网站| 好爽~好大~不要| 三上悠亚中文字幕在线播放| 新婚熄与翁公试婚小说| 久久亚洲国产成人精品无码区| 日韩精品国产丝袜| 亚洲av无码不卡久久| 欧美人与物VIDEOS另类| 亚洲快播电影网| 欧美电影《轻佻寡妇》| 亚洲的天堂av无码| 特黄熟妇丰满人妻无码|