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 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 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řídou, ze které ASP.NET třídy audit-event monitorování stavu odvozují. 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 jsou auditovány ASP.NET a můžou generovat události auditu monitorování stavu nebo úspěchu:

  • 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ěchto událostí může být užitečný při vyšetřování narušení nebo útoku na aplikaci. Ve výchozím nastavení není k dispozici žádná podpora auditování pro chyby 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 WebAuditEvent třídou a odvozenými třídami.

Note

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

Poznámky pro dědice

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

Konstruktory

Name Description
WebAuditEvent(String, Object, Int32, Int32)

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

WebAuditEvent(String, Object, Int32)

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

Vlastnosti

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

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven 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()

Získá Type aktuální instance.

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

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

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

Vytvoří mělkou kopii aktuálního Object.

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

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

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