WebManagementEvent クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アプリケーションやプロセスの情報を保持するイベントの基本クラスを定義します。
public ref class WebManagementEvent : System::Web::Management::WebBaseEvent
public class WebManagementEvent : System.Web.Management.WebBaseEvent
type WebManagementEvent = class
inherit WebBaseEvent
Public Class WebManagementEvent
Inherits WebBaseEvent
- 継承
- 派生
例
次の例は、 クラスから派生させてカスタム イベントを実装する方法を WebManagementEvent 示しています。
using System;
using System.Text;
using System.Web;
using System.Web.Management;
namespace Samples.AspNet.Management
{
// Implements a custom
// WebManagementEvent class.
public class SampleWebManagementEvent :
WebManagementEvent
{
private StringBuilder eventInfo;
// Invoked in case of events
// identified only by their event code.
public SampleWebManagementEvent(string msg,
object eventSource, int eventCode):
base(msg, eventSource, eventCode)
{
// Perform custom initialization.
eventInfo = new StringBuilder();
eventInfo.Append(string.Format(
"Event created at: ",
EventTime.ToString()));
}
// Invoked in case of events identified
// by their event code.and related
// event detailed code.
public SampleWebManagementEvent(string msg,
object eventSource, int eventCode,
int eventDetailCode):
base(msg, eventSource,
eventCode, eventDetailCode)
{
// Perform custom initialization.
eventInfo = new StringBuilder();
eventInfo.Append(string.Format(
"Event created at: ",
EventTime.ToString()));
}
// Raises the SampleWebRequestEvent.
public override void Raise()
{
// Perform custom processing.
eventInfo.Append(string.Format(
"Event raised at: ",
EventTime.ToString()));
// Raise the event.
base.Raise();
}
// Obtains the current process information.
public string GetProcessInfo()
{
StringBuilder tempPi = new StringBuilder();
WebProcessInformation pi = ProcessInformation;
tempPi.Append(
pi.ProcessName + Environment.NewLine);
tempPi.Append(
pi.ProcessID.ToString() + Environment.NewLine);
tempPi.Append(
pi.AccountName + Environment.NewLine);
return tempPi.ToString();
}
public override void FormatCustomEventDetails(
WebEventFormatter formatter)
{
base.FormatCustomEventDetails(formatter);
// Add custom data.
formatter.AppendLine("");
formatter.IndentationLevel += 1;
formatter.AppendLine(
"** SampleWebManagementEvent Start **");
// Add custom data.
formatter.AppendLine(eventInfo.ToString());
formatter.AppendLine(
"** SampleWebManagementEvent End **");
}
}
}
Imports System.Text
Imports System.Web
Imports System.Web.Management
' Implements a custom
' WebManagementEvent class.
Public Class SampleWebManagementEvent
Inherits WebManagementEvent
Private eventInfo As StringBuilder
' Invoked in case of events
' identified only by their event code.
Public Sub New(ByVal msg As String, _
ByVal eventSource As Object, _
ByVal eventCode As Integer)
MyBase.New(msg, eventSource, eventCode)
' Perform custom initialization.
eventInfo = New StringBuilder()
eventInfo.Append(String.Format( _
"Event created at: ", EventTime.ToString()))
End Sub
' Invoked in case of events identified
' by their event code.and related
' event detailed code.
Public Sub New(ByVal msg As String, _
ByVal eventSource As Object, _
ByVal eventCode As Integer, _
ByVal eventDetailCode As Integer)
MyBase.New(msg, eventSource, _
eventCode, eventDetailCode)
' Perform custom initialization.
eventInfo = New StringBuilder()
eventInfo.Append(String.Format( _
"Event created at: ", EventTime.ToString()))
End Sub
' Raises the SampleWebRequestEvent.
Public Overrides Sub Raise()
' Perform custom processing.
eventInfo.Append(String.Format( _
"Event raised at: ", EventTime.ToString()))
' Raise the event.
MyBase.Raise()
End Sub
' Obtains the current process information.
Public Function GetProcessInfo() As String
Dim tempPi As New StringBuilder()
Dim pi As WebProcessInformation = ProcessInformation
tempPi.Append( _
(pi.ProcessName + Environment.NewLine))
tempPi.Append( _
(pi.ProcessID.ToString() + Environment.NewLine))
tempPi.Append( _
(pi.AccountName + Environment.NewLine))
Return tempPi.ToString()
End Function 'GetProcessInfo
Public Overrides Sub FormatCustomEventDetails( _
ByVal formatter As WebEventFormatter)
MyBase.FormatCustomEventDetails(formatter)
' Add custom data.
formatter.AppendLine("")
formatter.IndentationLevel += 1
formatter.AppendLine( _
"** SampleWebManagementEvent Start **")
' Add custom data.
formatter.AppendLine(eventInfo.ToString())
formatter.AppendLine( _
"** SampleWebManagementEvent End **")
End Sub
End Class
ASP.NET がカスタム イベントを使用できるようにする構成ファイルの抜粋を次に示します。
<healthMonitoring enabled="true"
heartBeatInterval="0">
<eventMappings>
<add name="SampleWebManagementEvent" type="SamplesAspNet.SampleWebManagementEvent,webmanagementevent,Version=1.0.1573.24438, Culture=neutral, PublicKeyToken=2f5f337ae5c9bdaa, processorArchitecture=MSIL"/>
</eventMappings>
<rules>
<add
name="Custom WebManagementEvent"
eventName="SampleWebManagementEvent"
provider="EventLogProvider"
profile="Critical"/>
</rules>
</healthMonitoring>
注釈
ASP.NET 正常性の監視により、運用スタッフと運用スタッフはデプロイされた Web アプリケーションを管理できます。 System.Web.Management名前空間には、アプリケーションの正常性状態データをパッケージ化する正常性イベントの種類と、このデータの処理を担当するプロバイダーの種類が含まれています。 また、正常性イベントの管理中に役立つサポート型も含まれています。
WebManagementEventは、すべての ASP.NET 正常性監視イベントの種類の基本クラスです。 クラスを WebProcessInformation 使用して、派生クラスで使用できるプロセス情報を取得します。
Note
ほとんどの場合、実装されている ASP.NET の正常性監視の種類を使用でき、構成セクションで値を指定して正常性監視システムを healthMonitoring
制御します。 正常性監視の種類から派生して、独自のカスタム イベントとプロバイダーを作成することもできます。 クラスからの WebManagementEvent 派生の例については、このトピックで提供されている例を参照してください。
注意 (継承者)
カスタム イベント情報を表示用に書式設定する場合は、 メソッドではなく メソッドをToStringオーバーライドFormatCustomEventDetails(WebEventFormatter)します。 これにより、機密性の高いシステム情報の上書きや改ざんを回避できます。
カスタム イベントに指定するイベント コードは、 より WebExtendedBase大きくする必要があります。
コンストラクター
WebManagementEvent(String, Object, Int32, Int32) |
指定されたパラメーターを使用して、WebManagementEvent クラスの新しいインスタンスを初期化します。 |
WebManagementEvent(String, Object, Int32) |
指定されたパラメーターを使用して、WebManagementEvent クラスの新しいインスタンスを初期化します。 |
プロパティ
EventCode |
イベントに関連付けられているコード値を取得します。 (継承元 WebBaseEvent) |
EventDetailCode |
イベント詳細コードを取得します。 (継承元 WebBaseEvent) |
EventID |
イベントに関連付けられた識別子を取得します。 (継承元 WebBaseEvent) |
EventOccurrence |
イベントが発生した回数を表すカウンターを取得します。 (継承元 WebBaseEvent) |
EventSequence |
アプリケーションによるイベントの発生回数を取得します。 (継承元 WebBaseEvent) |
EventSource |
イベントを発生させるオブジェクトを取得します。 (継承元 WebBaseEvent) |
EventTime |
イベントが発生した時刻を取得します。 (継承元 WebBaseEvent) |
EventTimeUtc |
イベントが発生した時刻を取得します。 (継承元 WebBaseEvent) |
Message |
イベントを説明するメッセージを取得します。 (継承元 WebBaseEvent) |
ProcessInformation |
ASP.NET アプリケーション ホスト プロセスに関する情報を取得します。 |
メソッド
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
FormatCustomEventDetails(WebEventFormatter) |
イベント情報の標準的な形式を提供します。 (継承元 WebBaseEvent) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
IncrementPerfCounters() |
パフォーマンス カウンターをインクリメントするために、内部的に使用されます。 (継承元 WebBaseEvent) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
Raise() |
イベントを発生させ、構成されているプロバイダーにそのイベントが発生したことを通知します。 (継承元 WebBaseEvent) |
ToString() |
イベント情報を表示用に書式設定します。 (継承元 WebBaseEvent) |
ToString(Boolean, Boolean) |
イベント情報を表示用に書式設定します。 (継承元 WebBaseEvent) |
適用対象
こちらもご覧ください
.NET