Condividi tramite


WebRequestEvent Classe

Definizione

Definisce la classe base per gli eventi che forniscono le informazioni delle richieste 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
Ereditarietà

Esempio

Nell'esempio di codice seguente viene illustrato come derivare dalla WebRequestEvent classe per creare un evento personalizzato.


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

Di seguito è riportato un estratto del file di configurazione che consente ASP.NET di usare l'evento personalizzato.

<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>  

Commenti

Viene WebRequestEvent generato in ogni richiesta Web.

Usa la WebRequestInformation classe per ottenere informazioni sulla richiesta.

Nota

Nella maggior parte dei casi si userà lo standard ASP.NET tipi di monitoraggio dell'integrità e controllarne il comportamento impostando la healthMonitoring sezione di configurazione. È anche possibile creare tipi personalizzati, come illustrato nell'esempio successivo. Se si crea il tipo di evento personalizzato e è necessario aggiungere informazioni personalizzate, personalizzare il FormatCustomEventDetails metodo. In questo modo si evita di sovrascrivere o manomettere le informazioni di sistema sensibili.

Costruttori

WebRequestEvent(String, Object, Int32)

Inizializza la classe WebRequestEvent con i parametri di evento specificati.

WebRequestEvent(String, Object, Int32, Int32)

Inizializza la classe WebRequestEvent con i parametri di evento specificati.

Proprietà

EventCode

Ottiene il valore di codice associato all'evento.

(Ereditato da WebBaseEvent)
EventDetailCode

Ottiene il codice dettagliato dell'evento.

(Ereditato da WebBaseEvent)
EventID

Ottiene l'identificatore associato all'evento.

(Ereditato da WebBaseEvent)
EventOccurrence

Ottiene un contatore che rappresenta il numero di occorrenze dell'evento.

(Ereditato da WebBaseEvent)
EventSequence

Ottiene il numero di volte in cui l'evento è stato generato dall'applicazione.

(Ereditato da WebBaseEvent)
EventSource

Ottiene l'oggetto che genera l'evento.

(Ereditato da WebBaseEvent)
EventTime

Ottiene la data e l'ora in cui è stato generato l'evento.

(Ereditato da WebBaseEvent)
EventTimeUtc

Ottiene la data e l'ora in cui è stato generato l'evento.

(Ereditato da WebBaseEvent)
Message

Ottiene il messaggio nel quale è descritto l'evento.

(Ereditato da WebBaseEvent)
ProcessInformation

Ottiene informazioni sul processo che ospita l'applicazione ASP.NET.

(Ereditato da WebManagementEvent)
RequestInformation

Ottiene le informazioni associate alla richiesta dell'applicazione Web.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
FormatCustomEventDetails(WebEventFormatter)

Fornisce una formattazione standard delle informazioni relative all'evento.

(Ereditato da WebBaseEvent)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IncrementPerfCounters()

Utilizzato internamente per incrementare i contatori delle prestazioni.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Raise()

Genera un evento notificando a qualsiasi provider configurato che l'evento si è verificato.

(Ereditato da WebBaseEvent)
ToString()

Formatta le informazioni relative all'evento ai fini della visualizzazione.

(Ereditato da WebBaseEvent)
ToString(Boolean, Boolean)

Formatta le informazioni relative all'evento ai fini della visualizzazione.

(Ereditato da WebBaseEvent)

Si applica a

Vedi anche