Udostępnij za pośrednictwem


WebAuditEvent Klasa

Definicja

Służy jako klasa bazowa dla wszystkich zdarzeń inspekcji monitorowania kondycji 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
Dziedziczenie
Pochodne

Przykłady

Poniższy przykład kodu pokazuje, jak pochodzić z klasy w WebAuditEvent celu utworzenia niestandardowego zdarzenia inspekcji.


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

Poniżej znajduje się fragment pliku konfiguracji, który umożliwia ASP.NET używanie zdarzenia.

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

Uwagi

ASP.NET monitorowanie kondycji umożliwia personelowi produkcyjnemu i operacyjnemu zarządzanie wdrożonych aplikacji internetowych. System.Web.Management Przestrzeń nazw zawiera typy zdarzeń kondycji odpowiedzialnych za pakowanie danych o stanie kondycji aplikacji i typów dostawców odpowiedzialnych za przetwarzanie tych danych. Zawiera również typy pomocnicze, które ułatwiają zarządzanie zdarzeniami kondycji.

Klasa WebAuditEvent jest klasą bazową, z której pochodzą klasy zdarzeń monitorowania kondycji ASP.NET monitorowania kondycji. Zdarzenia inspekcji generują informacje o operacjach związanych z zabezpieczeniami w aplikacji internetowej i zapewniają zarówno zdarzenie powodzenia, jak i niepowodzenia dla każdej operacji inspekcji.

System monitorowania kondycji może przeprowadzać inspekcję zarówno pomyślnych, jak i nieudanych zdarzeń, co oznacza, że aplikacja może być monitorowana zarówno pod kątem normalnych, jak i nieprawidłowych warunków. Domyślnie rejestrowane są tylko zdarzenia inspekcji niepowodzeń.

Następujące operacje są poddawane inspekcji przez ASP.NET i mogą generować zdarzenia inspekcji monitorowania kondycji lub powodzenia:

  • Próby logowania podejmowane przez użytkowników aplikacji ASP.NET. Aby uzyskać więcej informacji na temat tej inspekcji, zobacz WebAuthenticationSuccessAuditEvent i WebSuccessAuditEvent.

  • Zdarzenia związane z zabezpieczeniami, takie jak błędy uwierzytelniania, nieudane próby dostępu do zasobów i inne zdarzenia związane z zabezpieczeniami. Dziennik tych zdarzeń może być przydatny podczas badania włamania lub ataku na aplikację. Domyślnie nie jest zapewniana obsługa inspekcji w przypadku niepowodzeń autoryzacji użytkowników anonimowych. Aby uzyskać więcej informacji na temat inspekcji zdarzeń awarii, zobacz WebAuthenticationFailureAuditEvent i WebFailureAuditEvent.

  • Zdarzenia niestandardowe zgłaszane przez aplikację ASP.NET. Zdarzenia niestandardowe można przeprowadzać, rozszerzając funkcjonalność zapewnianą przez klasę WebAuditEvent i klasy pochodne

Uwaga

W większości przypadków będzie można użyć ASP.NET typów monitorowania kondycji zgodnie z implementacją i będziesz kontrolować system monitorowania kondycji, określając wartości w healthMonitoring sekcji konfiguracji. Możesz również pochodzić z typów monitorowania kondycji, aby utworzyć własne niestandardowe zdarzenia i dostawców. Przykład wyprowadzania z klasy można znaleźć w przykładzie WebAuditEvent podanym w tym temacie.

Uwagi dotyczące dziedziczenia

Podczas formatowania niestandardowych informacji o zdarzeniach do wyświetlania przesłoń metodę FormatCustomEventDetails(WebEventFormatter) , a nie metodę ToString . Pozwoli to uniknąć zastępowania lub manipulowania poufnymi informacjami systemowymi.

Konstruktory

WebAuditEvent(String, Object, Int32)

Inicjuje WebAuditEvent nowe wystąpienie klasy przy użyciu podanych parametrów.

WebAuditEvent(String, Object, Int32, Int32)

Inicjuje WebAuditEvent nowe wystąpienie klasy z określonymi parametrami zdarzenia.

Właściwości

EventCode

Pobiera wartość kodu skojarzona ze zdarzeniem.

(Odziedziczone po WebBaseEvent)
EventDetailCode

Pobiera kod szczegółów zdarzenia.

(Odziedziczone po WebBaseEvent)
EventID

Pobiera identyfikator skojarzony ze zdarzeniem.

(Odziedziczone po WebBaseEvent)
EventOccurrence

Pobiera licznik reprezentujący liczbę przypadków wystąpienia zdarzenia.

(Odziedziczone po WebBaseEvent)
EventSequence

Pobiera liczbę zgłoszonych przez aplikację zdarzeń.

(Odziedziczone po WebBaseEvent)
EventSource

Pobiera obiekt, który zgłasza zdarzenie.

(Odziedziczone po WebBaseEvent)
EventTime

Pobiera czas, kiedy zdarzenie zostało podniesione.

(Odziedziczone po WebBaseEvent)
EventTimeUtc

Pobiera czas, kiedy zdarzenie zostało podniesione.

(Odziedziczone po WebBaseEvent)
Message

Pobiera komunikat opisujący zdarzenie.

(Odziedziczone po WebBaseEvent)
ProcessInformation

Pobiera informacje o procesie hostingu aplikacji ASP.NET.

(Odziedziczone po WebManagementEvent)
RequestInformation

Pobierz informacje skojarzone z żądaniem internetowym.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
FormatCustomEventDetails(WebEventFormatter)

Zapewnia standardowe formatowanie informacji o zdarzeniu.

(Odziedziczone po WebBaseEvent)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
IncrementPerfCounters()

Używane wewnętrznie do przyrostowych liczników wydajności.

(Odziedziczone po WebBaseEvent)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Raise()

Zgłasza zdarzenie, powiadamiając dowolnego skonfigurowanego dostawcę o wystąpieniu zdarzenia.

(Odziedziczone po WebBaseEvent)
ToString()

Formatuje informacje o zdarzeniach do celów wyświetlania.

(Odziedziczone po WebBaseEvent)
ToString(Boolean, Boolean)

Formatuje informacje o zdarzeniach do celów wyświetlania.

(Odziedziczone po WebBaseEvent)

Dotyczy

Zobacz też