WebAuditEvent Klass

Definition

Fungerar som basklass för alla ASP.NET granskningshändelser för hälsoövervakning.

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
Arv
Härledda

Exempel

Följande kodexempel visar hur du härleder från WebAuditEvent klassen för att skapa en anpassad granskningshändelse.


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

Följande är ett utdrag av konfigurationsfilen som gör att ASP.NET kan använda händelsen.

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

Kommentarer

ASP.NET hälsoövervakning gör det möjligt för produktions- och driftpersonal att hantera distribuerade webbprogram. Namnområdet System.Web.Management innehåller de hälsohändelsetyper som ansvarar för att paketera programhälsostatusdata och de leverantörstyper som ansvarar för bearbetning av dessa data. Den innehåller också stödtyper som hjälper till vid hantering av hälsohändelser.

Klassen WebAuditEvent är basklassen från vilken ASP.NET granskningshändelseklasser för hälsoövervakning härleds. Granskningshändelserna genererar information om säkerhetsrelaterade åtgärder i ett webbprogram och tillhandahåller både en lyckad och misslyckad händelse för varje granskad åtgärd.

Hälsoövervakningssystemet kan granska både lyckade och misslyckade händelser, vilket innebär att ett program kan övervakas för både normala och felaktiga tillstånd. Som standard registreras endast felgranskningshändelserna.

Följande åtgärder granskas av ASP.NET och kan generera lyckade eller misslyckade hälsoövervakningshändelser:

  • Inloggningsförsök som görs av användare av ett ASP.NET program. Mer information om den här granskningen finns i WebAuthenticationSuccessAuditEvent och WebSuccessAuditEvent.

  • Säkerhetsrelaterade händelser, till exempel autentiseringsfel, misslyckade resursåtkomstförsök och andra säkerhetsrelaterade händelser. Loggen för dessa händelser kan vara användbar när du undersöker ett intrång eller angrepp på programmet. Som standard tillhandahålls ingen granskningssupport för auktoriseringsfel för anonyma användare. Mer information om granskningar av felhändelser finns i WebAuthenticationFailureAuditEvent och WebFailureAuditEvent.

  • Anpassade händelser som genereras av ett ASP.NET program. Du kan granska anpassade händelser genom att utöka funktionerna som tillhandahålls av WebAuditEvent klassen och härledda klasser

Note

I de flesta fall kommer du att kunna använda ASP.NET hälsoövervakningstyper som implementerats, och du kommer att kontrollera hälsoövervakningssystemet genom att ange värden i konfigurationsavsnittet healthMonitoring. Du kan också härleda från hälsoövervakningstyperna för att skapa egna anpassade händelser och leverantörer. Ett exempel på härledning från WebAuditEvent klassen finns i exemplet i det här avsnittet.

Anteckningar till arvingar

När du formaterar din anpassade händelseinformation för visning åsidosätter FormatCustomEventDetails(WebEventFormatter) du metoden i stället ToString för metoden. På så sätt undviker du att skriva över eller manipulera känslig systeminformation.

Konstruktorer

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

Initierar en ny instans av WebAuditEvent klassen med angivna händelseparametrar.

WebAuditEvent(String, Object, Int32)

Initierar en ny instans av klassen med hjälp av WebAuditEvent de angivna parametrarna.

Egenskaper

Name Description
EventCode

Hämtar det kodvärde som är associerat med händelsen.

(Ärvd från WebBaseEvent)
EventDetailCode

Hämtar händelseinformationskoden.

(Ärvd från WebBaseEvent)
EventID

Hämtar identifieraren som är associerad med händelsen.

(Ärvd från WebBaseEvent)
EventOccurrence

Hämtar en räknare som representerar antalet gånger händelsen har inträffat.

(Ärvd från WebBaseEvent)
EventSequence

Hämtar antalet gånger som händelsen har skapats av programmet.

(Ärvd från WebBaseEvent)
EventSource

Hämtar objektet som genererar händelsen.

(Ärvd från WebBaseEvent)
EventTime

Hämtar den tid då händelsen skapades.

(Ärvd från WebBaseEvent)
EventTimeUtc

Hämtar den tid då händelsen skapades.

(Ärvd från WebBaseEvent)
Message

Hämtar meddelandet som beskriver händelsen.

(Ärvd från WebBaseEvent)
ProcessInformation

Hämtar information om ASP.NET programvärdprocess.

(Ärvd från WebManagementEvent)
RequestInformation

Hämta den information som är associerad med webbbegäran.

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
FormatCustomEventDetails(WebEventFormatter)

Tillhandahåller standardformatering av händelseinformationen.

(Ärvd från WebBaseEvent)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
IncrementPerfCounters()

Används internt för att öka prestandaräknare.

(Ärvd från WebBaseEvent)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
Raise()

Genererar en händelse genom att meddela alla konfigurerade leverantörer att händelsen har inträffat.

(Ärvd från WebBaseEvent)
ToString()

Formaterar händelseinformation i visningssyfte.

(Ärvd från WebBaseEvent)
ToString(Boolean, Boolean)

Formaterar händelseinformation i visningssyfte.

(Ärvd från WebBaseEvent)

Gäller för

Se även