WebBaseEventCollection クラス
アセンブリ: System.Web (system.web.dll 内)
構文
運用および操作の担当者は、ASP.NET Health Monitoring を使用して、配置されている Web アプリケーションを管理できます。System.Web.Management 名前空間には、アプリケーションの状態データをパッケージ化する状態イベント型、およびそのデータを処理するプロバイダ型が含まれます。また、状態イベント管理を支援するサポート型も含まれます。
WebBaseEventCollection クラスは、SqlWebEventProvider などのプロバイダに状態監視イベントのコレクションを配信するために使用します。
WebBaseEventCollection クラスを使用するコード例を次に示します。
Imports System Imports System.Text Imports System.Web Imports System.Web.Management Imports System.Collections ' Implements a custom WebBaseEvent class. ' Everytime this class is instantiated a WebBaseEvent is ' created. This event object is then added to the static ' simulatedEvents array list. Public Class SampleWebBaseEventCollection Inherits System.Web.Management.WebBaseEvent Private customCreatedMsg As String Private Shared simulatedEvents As New ArrayList() Private Shared events _ As System.Web.Management.WebBaseEventCollection ' Create a new WebBaseEvent and add it to the ' static array list simulatedEvents. Public Sub New(ByVal msg As String, ByVal eventSource As Object, _ ByVal eventCode As Integer) MyBase.New(msg, eventSource, eventCode) customCreatedMsg = String.Format("Event created at: {0}", _ DateTime.Now.TimeOfDay.ToString()) simulatedEvents.Add(Me) End Sub 'New ' Get the event with the specified index. Public Shared Function GetItem(ByVal index _ As Integer) As WebBaseEvent Return events(index) End Function 'GetItem ' Get the index of the specified event. Public Shared Function GetIndexOf(ByVal ev _ As WebBaseEvent) As Integer Return events.IndexOf(ev) End Function 'GetIndexOf ' Chek if the specified event is in the collection. Public Shared Function ContainsEvent(ByVal ev _ As WebBaseEvent) As Boolean Return events.Contains(ev) End Function 'ContainsEvent ' Create an event collection. ' Add to it the created simulatedEvents. Public Shared Sub AddEvents() events = _ New System.Web.Management.WebBaseEventCollection(simulatedEvents) End Sub 'AddEvents ' Display the events contained in the collection. Public Overrides Sub FormatCustomEventDetails(ByVal formatter _ As WebEventFormatter) MyBase.FormatCustomEventDetails(formatter) ' Add custom data. formatter.AppendLine("") formatter.IndentationLevel += 1 formatter.AppendLine("**SampleWebBaseEventCollection Data Start **") Dim ev As WebBaseEvent For Each ev In events formatter.AppendLine(String.Format("Message: {0}", _ ev.Message)) formatter.AppendLine(String.Format("Source: {0}", _ ev.EventSource.ToString())) formatter.AppendLine(String.Format("Code: {0}", _ ev.EventCode.ToString())) Next ev formatter.AppendLine("**SampleWebBaseEventCollection Data End **") formatter.IndentationLevel -= 1 End Sub 'FormatCustomEventDetails End Class 'SampleWebBaseEventCollection
using System; using System.Text; using System.Web; using System.Web.Management; using System.Collections; namespace SamplesAspNet { // Implements a custom WebBaseEvent class. // Everytime this class is instantiated a WebBaseEvent is // created. This event object is then added to the static // simulatedEvents array list. public class SampleWebBaseEventCollection : System.Web.Management.WebBaseEvent { private string customCreatedMsg; private static ArrayList simulatedEvents = new ArrayList(); private static System.Web.Management.WebBaseEventCollection events; // Create a new WebBaseEvent and add it to the // static array list simulatedEvents. public SampleWebBaseEventCollection( string msg, object eventSource, int eventCode): base(msg, eventSource, eventCode) { customCreatedMsg = string.Format("Event created at: {0}", DateTime.Now.TimeOfDay.ToString()); simulatedEvents.Add(this); } // Get the event with the specified index. public static WebBaseEvent GetItem(int index) { return events[index]; } // Get the index of the specified event. public static int GetIndexOf(WebBaseEvent ev) { return events.IndexOf(ev); } // Check if the specified event is in the collection. public static bool ContainsEvent(WebBaseEvent ev) { return events.Contains(ev); } // Create an event collection. // Add to it the created simulatedEvents. public static void AddEvents() { events = new System.Web.Management.WebBaseEventCollection( simulatedEvents); } // Display the events contained in the collection. public override void FormatCustomEventDetails(WebEventFormatter formatter) { base.FormatCustomEventDetails(formatter); // Add custom data. formatter.AppendLine(""); formatter.IndentationLevel += 1; formatter.AppendLine( "**SampleWebBaseEventCollection Data Start **"); foreach (WebBaseEvent ev in events) { formatter.AppendLine(string.Format( "Message: {0}", ev.Message)); formatter.AppendLine(string.Format( "Source: {0}", ev.EventSource.ToString())); formatter.AppendLine(string.Format( "Code: {0}", ev.EventCode.ToString())); } formatter.AppendLine( "**SampleWebBaseEventCollection Data End **"); formatter.IndentationLevel -= 1; } } }
System.Collections.ReadOnlyCollectionBase
System.Web.Management.WebBaseEventCollection
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- WebBaseEventCollection クラスのページへのリンク