Sdílet prostřednictvím


WebAuditEvent Třída

Definice

Slouží jako základní třída pro všechny události auditu monitorování stavu ASP.NET.

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
Dědičnost
Odvozené

Příklady

Následující příklad kódu ukazuje, jak odvodit z WebAuditEvent třídy a vytvořit vlastní událost auditu.


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

Následuje výňatek konfiguračního souboru, který umožňuje ASP.NET použít událost.

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

Poznámky

ASP.NET monitorování stavu umožňuje provozním a provozním pracovníkům spravovat nasazené webové aplikace. Obor System.Web.Management názvů obsahuje typy událostí stavu, které jsou zodpovědné za balení dat stavu aplikace a typů poskytovatelů zodpovědných za zpracování těchto dat. Obsahuje také podpůrné typy, které pomáhají při správě událostí stavu.

Třída WebAuditEvent je základní třída, ze které ASP.NET třídy audit-event monitorování stavu odvozeny. Události auditu generují informace o operacích souvisejících se zabezpečením ve webové aplikaci a poskytují událost úspěchu i selhání pro každou auditovanou operaci.

Systém monitorování stavu může auditovat úspěšné i neúspěšné události, což znamená, že aplikaci lze monitorovat za normálních i chybných podmínek. Ve výchozím nastavení se zaznamenávají pouze události auditu selhání.

Následující operace auditují ASP.NET a můžou generovat události auditu monitorování stavu nebo úspěchu při selhání:

  • Pokusy o přihlášení provedené uživateli aplikace ASP.NET Další podrobnosti o tomto auditování najdete v tématu WebAuthenticationSuccessAuditEvent a WebSuccessAuditEvent.

  • Události související se zabezpečením, jako jsou selhání ověřování, neúspěšné pokusy o přístup k prostředkům a další události související se zabezpečením. Protokol těchtoudálostch Ve výchozím nastavení není k dispozici žádná podpora auditování pro selhání autorizace anonymních uživatelů. Další podrobnosti o auditech událostí selhání najdete v tématu WebAuthenticationFailureAuditEvent a WebFailureAuditEvent.

  • Vlastní události vyvolané aplikací ASP.NET Vlastní události můžete auditovat rozšířením funkcí poskytovaných třídou a odvozenými třídami WebAuditEvent .

Poznámka

Ve většině případů budete moct používat typy monitorování stavu ASP.NET jako implementované a systém monitorování stavu budete řídit zadáním hodnot v healthMonitoring části konfigurace. Můžete také odvodit z typů monitorování stavu a vytvořit vlastní události a zprostředkovatele. Příklad odvození z WebAuditEvent třídy naleznete v příkladu uvedeném v tomto tématu.

Poznámky pro dědice

Při formátování vlastních informací o událostech pro zobrazení přepište FormatCustomEventDetails(WebEventFormatter) místo metody metodu ToString . Tím se zabrání přepsání nebo manipulaci s citlivými systémovými informacemi.

Konstruktory

WebAuditEvent(String, Object, Int32)

Inicializuje novou instanci WebAuditEvent třídy pomocí zadaných parametrů.

WebAuditEvent(String, Object, Int32, Int32)

Inicializuje novou instanci WebAuditEvent třídy se zadanými parametry události.

Vlastnosti

EventCode

Získá hodnotu kódu přidruženou k události.

(Zděděno od WebBaseEvent)
EventDetailCode

Získá kód podrobností události.

(Zděděno od WebBaseEvent)
EventID

Získá identifikátor přidružený k události.

(Zděděno od WebBaseEvent)
EventOccurrence

Získá čítač, který představuje počet výskytů události.

(Zděděno od WebBaseEvent)
EventSequence

Získá počet vyvolání události aplikací.

(Zděděno od WebBaseEvent)
EventSource

Získá objekt, který vyvolá událost.

(Zděděno od WebBaseEvent)
EventTime

Získá čas, kdy byla událost vyvolána.

(Zděděno od WebBaseEvent)
EventTimeUtc

Získá čas, kdy byla událost vyvolána.

(Zděděno od WebBaseEvent)
Message

Získá zprávu, která popisuje událost.

(Zděděno od WebBaseEvent)
ProcessInformation

Získá informace o ASP.NET procesu hostování aplikací.

(Zděděno od WebManagementEvent)
RequestInformation

Získejte informace přidružené k webové žádosti.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
FormatCustomEventDetails(WebEventFormatter)

Poskytuje standardní formátování informací o události.

(Zděděno od WebBaseEvent)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
IncrementPerfCounters()

Používá se interně ke zvýšení čítačů výkonu.

(Zděděno od WebBaseEvent)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
Raise()

Vyvolá událost oznámením libovolného nakonfigurovaného zprostředkovatele, že k události došlo.

(Zděděno od WebBaseEvent)
ToString()

Formátuje informace o událostech pro účely zobrazení.

(Zděděno od WebBaseEvent)
ToString(Boolean, Boolean)

Formátuje informace o událostech pro účely zobrazení.

(Zděděno od WebBaseEvent)

Platí pro

Viz také