次の方法で共有


WebRequestEvent クラス

定義

Web 要求情報を提供するイベントの基本クラスを定義します。

public ref class WebRequestEvent : System::Web::Management::WebManagementEvent
public class WebRequestEvent : System.Web.Management.WebManagementEvent
type WebRequestEvent = class
    inherit WebManagementEvent
Public Class WebRequestEvent
Inherits WebManagementEvent
継承

次のコード例は、クラスから WebRequestEvent 派生してカスタム イベントを作成する方法を示しています。


using System;
using System.Text;
using System.Web;
using System.Web.Management;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace SamplesAspNet
{
    // Implements a custom WebRequestEvent. 
    public class SampleWebRequestEvent :
      System.Web.Management.WebRequestEvent
    {
        private string  customCreatedMsg, 
                        customRaisedMsg;

        // Invoked in case of events identified only 
        // by their event code.
        public SampleWebRequestEvent(
            string msg, 
            object eventSource, int eventCode): 
            base(msg, eventSource, eventCode)
        {
           
            // Perform custom initialization.
            customCreatedMsg =
              string.Format(
              "Event created at: {0}", 
              EventTime.ToString());
        }

        // Invoked in case of events identified 
        // by their event code.and 
        // related event detailed code.
        public SampleWebRequestEvent(string msg,
            object eventSource, int eventCode,
            int eventDetailCode):
            base(msg, eventSource, eventCode, 
            eventDetailCode)
        {
            // Perform custom initialization.
            customCreatedMsg =
              string.Format(
              "Event created at: {0}", 
              EventTime.ToString());
        }


        // Raises the SampleWebRequestEvent.
        public override void Raise()
        {
            // Perform custom processing.
            customRaisedMsg =
              string.Format(
              "Event raised at: {0}", 
              EventTime.ToString());

            // Raise the event.
            base.Raise();
        }

        //Formats Web request event information.
        public override void FormatCustomEventDetails(
            WebEventFormatter formatter)
        {
            // Add custom data.
            formatter.AppendLine("");

            formatter.IndentationLevel += 1;
            formatter.AppendLine(
                "* Custom Request Information Start *");

            //// Display custom event timing.
            formatter.AppendLine(customCreatedMsg);
            formatter.AppendLine(customRaisedMsg);

            formatter.AppendLine(
                "* Custom Request Information End *");

            formatter.IndentationLevel -= 1;
        }

    }
}
Imports System.Text
Imports System.Web
Imports System.Web.Management
Imports System.Web.UI
Imports System.Web.UI.WebControls


' Implements a custom WebRequestEvent. 
Public Class SampleWebRequestEvent
    Inherits System.Web.Management.WebRequestEvent
    Private customCreatedMsg, customRaisedMsg As String
    
    
    ' 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.
        customCreatedMsg = String.Format( _
        "Event created at: {0}", _
        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.
        customCreatedMsg = String.Format( _
        "Event created at: {0}", _
        EventTime.ToString())

    End Sub
    

    ' Raises the SampleWebRequestEvent.
    Public Overrides Sub Raise() 
        ' Perform custom processing.
        customRaisedMsg = String.Format( _
        "Event raised at: {0}", _
        EventTime.ToString())
        
        ' Raise the event.
        MyBase.Raise()
    
    End Sub
    
    
    'Formats Web request event information.
    Public Overrides Sub FormatCustomEventDetails( _
    ByVal formatter As WebEventFormatter)
        ' Add custom data.
        formatter.AppendLine("")

        formatter.IndentationLevel += 1
        formatter.AppendLine( _
        "* Custom Request Information Start *")

        '// Display custom event timing.
        formatter.AppendLine(customCreatedMsg)
        formatter.AppendLine(customRaisedMsg)

        formatter.AppendLine( _
        "* Custom Request Information End *")

        formatter.IndentationLevel -= 1

    End Sub
End Class

ASP.NET がカスタム イベントを使用できるようにする構成ファイルの抜粋を次に示します。

<healthMonitoring   
  enabled="true" heartBeatInterval="0">  
  <providers>  
    <!-- Define the custom provider that   
         processes custom Web request events. -->  
    <add name="SampleWebEventProvider"   
type="SamplesAspNet.SampleEventProvider,webeventprovider,Version=1.0.1573.18094, Culture=neutral, PublicKeyToken=b5a57a9a9d487cf4, processorArchitecture=MSIL"/>  
  </providers>  

  <eventMappings>  
    <!--  Define the event source that   
         issues custom events.   -->  
    <add  name="SampleWebRequestEvent"   
type="SamplesAspNet.SampleWebRequestEvent,webrequestevent,Version=1.0.1573.23947, Culture=neutral, PublicKeyToken=e717d983a78c8ddb, processorArchitecture=MSIL"/>  
    </eventMappings>  

  <rules>  
        <!-- Associate custom event with   
        related custom provider -->  
    <add   
      name="CustomWebRequestEvent"  
      eventName="SampleWebRequestEvent"   
      provider="SampleWebEventProvider"   
      profile="Critical"/>  
  </rules>  
</healthMonitoring>  

注釈

これは WebRequestEvent 、すべての Web 要求で発生します。

このクラスを WebRequestInformation 使用して要求情報を取得します。

注意

ほとんどの場合、標準の ASP.NET 正常性監視の種類を使用し、構成セクションを設定して動作をhealthMonitoring制御します。 次の例に示すように、カスタム型を作成することもできます。 カスタム イベントの種類を作成し、独自の情報を追加する必要がある場合は、メソッドをカスタマイズします FormatCustomEventDetails 。 これにより、システムの機密情報の上書きや改ざんを回避できます。

コンストラクター

WebRequestEvent(String, Object, Int32)

イベント パラメーターを指定して WebRequestEvent クラスを初期化します。

WebRequestEvent(String, Object, Int32, Int32)

イベント パラメーターを指定して WebRequestEvent クラスを初期化します。

プロパティ

EventCode

イベントに関連付けられているコード値を取得します。

(継承元 WebBaseEvent)
EventDetailCode

イベント詳細コードを取得します。

(継承元 WebBaseEvent)
EventID

イベントに関連付けられた識別子を取得します。

(継承元 WebBaseEvent)
EventOccurrence

イベントが発生した回数を表すカウンターを取得します。

(継承元 WebBaseEvent)
EventSequence

アプリケーションによるイベントの発生回数を取得します。

(継承元 WebBaseEvent)
EventSource

イベントを発生させるオブジェクトを取得します。

(継承元 WebBaseEvent)
EventTime

イベントが発生した時刻を取得します。

(継承元 WebBaseEvent)
EventTimeUtc

イベントが発生した時刻を取得します。

(継承元 WebBaseEvent)
Message

イベントを説明するメッセージを取得します。

(継承元 WebBaseEvent)
ProcessInformation

ASP.NET アプリケーション ホスト プロセスに関する情報を取得します。

(継承元 WebManagementEvent)
RequestInformation

Web アプリケーション要求に関連付けられた情報を取得します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
FormatCustomEventDetails(WebEventFormatter)

イベント情報の標準的な形式を提供します。

(継承元 WebBaseEvent)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
IncrementPerfCounters()

パフォーマンス カウンターをインクリメントするために、内部的に使用されます。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
Raise()

イベントを発生させ、構成されているプロバイダーにそのイベントが発生したことを通知します。

(継承元 WebBaseEvent)
ToString()

イベント情報を表示用に書式設定します。

(継承元 WebBaseEvent)
ToString(Boolean, Boolean)

イベント情報を表示用に書式設定します。

(継承元 WebBaseEvent)

適用対象

こちらもご覧ください