Freigeben über


WebAuditEvent Klasse

Definition

Fungiert als die Basisklasse für alle Überwachungsereignisse der ASP.NET-Systemüberwachung.

public ref class WebAuditEvent : System::Web::Management::WebManagementEvent
public class WebAuditEvent : System.Web.Management.WebManagementEvent
type WebAuditEvent = class
    inherit WebManagementEvent
Public Class WebAuditEvent
Inherits WebManagementEvent
Vererbung
Abgeleitet

Beispiele

Das folgende Codebeispiel zeigt, wie Sie von der WebAuditEvent Klasse abgeleitet werden, um ein benutzerdefiniertes Überwachungsereignis zu erstellen.


using System;
using System.Text;
using System.Web;
using System.Web.Management;

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

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

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

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

            // Raise the event.
            WebBaseEvent.Raise(this);
        }

        // Obtains the current thread information.
        public WebRequestInformation GetRequestInformation()
        {
            // Obtain the Web request information.
            // No customization is allowed here.
            return RequestInformation;
        }

        //Formats Web request event information.
        //This method is invoked indirectly by the provider 
        // using one of the overloaded ToString() methods.
        public override void FormatCustomEventDetails(
            WebEventFormatter formatter)
        {
            base.FormatCustomEventDetails(formatter);

            // Add custom data.
            formatter.AppendLine("");

            formatter.IndentationLevel += 1;
            formatter.AppendLine(
                "******** SampleWebAuditEvent Information Start ********");
            formatter.AppendLine(string.Format("Request path: {0}",
              RequestInformation.RequestPath));
            formatter.AppendLine(string.Format("Request Url: {0}",
              RequestInformation.RequestUrl));

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

            formatter.AppendLine(
                "******** SampleWebAuditEvent Information End ********");

            formatter.IndentationLevel -= 1;
        }
    }
}
Imports System.Text
Imports System.Web
Imports System.Web.Management


' Implements a custom WebAuditEvent class. 

Public Class SampleWebAuditEvent
    Inherits System.Web.Management.WebAuditEvent
    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}", DateTime.Now.TimeOfDay.ToString())

    End Sub
    
    
    ' Invoked in case of events identified by their event code.and 
    ' event detailed code.
    Public Sub New(ByVal msg As String, ByVal eventSource As Object, _
    ByVal eventCode As Integer, ByVal detailedCode As Integer)
        MyBase.New(msg, eventSource, eventCode, detailedCode)
        ' Perform custom initialization.
        customCreatedMsg = String.Format("Event created at: {0}", _
        DateTime.Now.TimeOfDay.ToString())

    End Sub
    
    ' Raises the SampleWebAuditEvent.
    Public Overrides Sub Raise() 
        ' Perform custom processing.
        customRaisedMsg = String.Format("Event raised at: {0}", _
        DateTime.Now.TimeOfDay.ToString())
        
        ' Raise the event.
        WebBaseEvent.Raise(Me)
    
    End Sub
    
    
    ' Obtains the current thread information.
    Public Function GetRequestInformation() As WebRequestInformation 
        ' Obtain the Web request information.
        ' No customization is allowed here.
        Return RequestInformation
    
    End Function 'GetRequestInformation
    
    
    'Formats Web request event information.
    'This method is invoked indirectly by the provider 
    ' using one of the overloaded ToString() methods.
    Public Overrides Sub FormatCustomEventDetails(ByVal formatter As WebEventFormatter) 
        MyBase.FormatCustomEventDetails(formatter)
        
        ' Add custom data.
        formatter.AppendLine("")
        
        formatter.IndentationLevel += 1
        formatter.AppendLine("******** SampleWebAuditEvent Information Start ********")
        formatter.AppendLine(String.Format("Request path: {0}", RequestInformation.RequestPath))
        formatter.AppendLine(String.Format("Request Url: {0}", RequestInformation.RequestUrl))
        
        ' Display custom event timing.
        formatter.AppendLine(customCreatedMsg)
        formatter.AppendLine(customRaisedMsg)
        
        formatter.AppendLine("******** SampleWebAuditEvent Information End ********")
        
        formatter.IndentationLevel -= 1
    
    End Sub
End Class

Nachfolgend sehen Sie einen Auszug der Konfigurationsdatei, mit der ASP.NET das Ereignis verwenden kann.

<healthMonitoring   
  enabled="true"  
  heartBeatInterval="0">   

  <providers>  
    <add name="EventLogProvider"   
      type="System.Web.Management.EventLogWebEventProvider,  
      System.Web,Version=2.0.3600.0,Culture=neutral,  
      PublicKeyToken=b03f5f7f11d50a3a"/>  
  </providers>  

  <eventMappings>  
    <add  name="SampleWebAuditEvent"   
      type="SamplesAspNet.SampleWebAuditEvent,  
      webauditevent,Version=1.0.1663.31140,   
      Culture=neutral,   
      PublicKeyToken=0d1fa0f69d94de96,   
      processorArchitecture=MSIL"/>  
  </eventMappings>  

  <rules>  
    <add name="Custom Audit Default"  
      eventName="SampleWebAuditEvent"  
      provider="EventLogProvider"  
      profile="Default"/>    
  </rules>  

</healthMonitoring>  

Hinweise

ASP.NET Integritätsüberwachung ermöglicht es Produktions- und Betriebsmitarbeitern, bereitgestellte Webanwendungen zu verwalten. Der System.Web.Management Namespace enthält die Integritätsereignistypen, die für das Verpacken von Anwendungsstatusdaten und den Anbietertypen, die für die Verarbeitung dieser Daten verantwortlich sind. Es enthält auch unterstützende Typen, die während der Verwaltung von Integritätsereignissen helfen.

Die WebAuditEvent Klasse ist die Basisklasse, von der die ASP.NET Überwachungsereignisklassen für die Integritätsüberwachung abgeleitet werden. Die Überwachungsereignisse generieren Informationen zu sicherheitsbezogenen Vorgängen in einer Webanwendung und stellen sowohl ein Erfolgs- als auch ein Fehlerereignis für jeden überwachten Vorgang bereit.

Das Integritätsüberwachungssystem kann erfolgreiche und nicht erfolgreiche Ereignisse überwachen, was bedeutet, dass eine Anwendung sowohl für normale als auch fehlerhafte Bedingungen überwacht werden kann. Standardmäßig werden nur die Fehlerüberwachungsereignisse aufgezeichnet.

Die folgenden Vorgänge werden von ASP.NET überwacht und können Erfolgs- oder Fehlerüberwachungsüberwachungsereignisse generieren:

  • Anmeldeversuche von Benutzern einer ASP.NET Anwendung. Weitere Informationen zu dieser Überwachung finden Sie unter WebAuthenticationSuccessAuditEvent und WebSuccessAuditEvent.

  • Sicherheitsbezogene Ereignisse, z. B. Authentifizierungsfehler, fehlgeschlagene Ressourcenzugriffsversuche und andere sicherheitsbezogene Ereignisse. Das Protokoll dieser Ereignisse kann beim Untersuchen eines Angriffs oder Angriffs auf die Anwendung nützlich sein. Standardmäßig wird keine Überwachungsunterstützung für Autorisierungsfehler anonymer Benutzer bereitgestellt. Weitere Informationen zu Fehlerereignisüberwachungen finden Sie unter WebAuthenticationFailureAuditEvent und WebFailureAuditEvent.

  • Benutzerdefinierte Ereignisse, die von einer ASP.NET Anwendung ausgelöst werden. Sie können benutzerdefinierte Ereignisse überwachen, indem Sie die von der WebAuditEvent Klasse und abgeleiteten Klassen bereitgestellte Funktionalität erweitern.

Hinweis

In den meisten Fällen können Sie die ASP.NET Integritätsüberwachungstypen wie implementiert verwenden und das Integritätsüberwachungssystem steuern, indem Sie Werte im healthMonitoring Konfigurationsabschnitt angeben. Sie können auch von den Integritätsüberwachungstypen abgeleitet werden, um eigene benutzerdefinierte Ereignisse und Anbieter zu erstellen. Ein Beispiel für die Ableitung von der WebAuditEvent Klasse finden Sie im beispiel in diesem Thema.

Hinweise für Vererber

Wenn Sie Ihre benutzerdefinierten Ereignisinformationen für die Anzeige formatieren, überschreiben Sie die FormatCustomEventDetails(WebEventFormatter) Methode anstelle der ToString Methode. Dadurch wird verhindert, dass vertrauliche Systeminformationen überschrieben oder manipuliert werden.

Konstruktoren

WebAuditEvent(String, Object, Int32)

Initialisiert eine neue Instanz der WebAuditEvent-Klasse mit den bereitgestellten Parametern.

WebAuditEvent(String, Object, Int32, Int32)

Initialisiert eine neue Instanz der WebAuditEvent-Klasse mit den angegebenen Ereignisparametern.

Eigenschaften

EventCode

Ruft den Codewert ab, der dem Ereignis zugeordnet ist.

(Geerbt von WebBaseEvent)
EventDetailCode

Ruft den Ereignisdetailcode ab.

(Geerbt von WebBaseEvent)
EventID

Ruft den dem Ereignis zugeordneten Bezeichner ab.

(Geerbt von WebBaseEvent)
EventOccurrence

Ruft einen Zähler ab, der die Häufigkeit darstellt, mit der das Ereignis eingetreten ist.

(Geerbt von WebBaseEvent)
EventSequence

Ruft die Häufigkeit ab, mit der das Ereignis von der Anwendung ausgelöst wurde.

(Geerbt von WebBaseEvent)
EventSource

Ruft das Objekt ab, das das Ereignis auslöst.

(Geerbt von WebBaseEvent)
EventTime

Ruft die Uhrzeit ab, zu der das Ereignis ausgelöst wurde.

(Geerbt von WebBaseEvent)
EventTimeUtc

Ruft die Uhrzeit ab, zu der das Ereignis ausgelöst wurde.

(Geerbt von WebBaseEvent)
Message

Ruft die Meldung ab, in der das Ereignis beschrieben wird.

(Geerbt von WebBaseEvent)
ProcessInformation

Ruft Informationen über den Hostprozess der ASP.NET-Anwendung ab.

(Geerbt von WebManagementEvent)
RequestInformation

Ruft die der Webanforderung zugeordneten Informationen ab.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
FormatCustomEventDetails(WebEventFormatter)

Stellt Standardformatierung der Ereignisinformationen bereit.

(Geerbt von WebBaseEvent)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IncrementPerfCounters()

Wird intern zum Inkrementieren der Leistungsindikatoren verwendet.

(Geerbt von WebBaseEvent)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Raise()

Löst ein Ereignis aus, indem ein konfigurierter Anbieter benachrichtigt wird, dass das Ereignis eingetreten ist.

(Geerbt von WebBaseEvent)
ToString()

Formatiert Ereignisinformationen für die Anzeige.

(Geerbt von WebBaseEvent)
ToString(Boolean, Boolean)

Formatiert Ereignisinformationen für die Anzeige.

(Geerbt von WebBaseEvent)

Gilt für

Siehe auch