WebAuditEvent Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Funge da classe base per tutti gli eventi di controllo del monitoraggio dello stato di 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
- Ereditarietà
- Derivato
Esempio
Nell'esempio di codice seguente viene illustrato come derivare dalla WebAuditEvent classe per creare un evento di controllo personalizzato.
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
Di seguito è riportato un estratto del file di configurazione che consente ASP.NET di usare l'evento.
<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>
Commenti
ASP.NET monitoraggio dell'integrità consente al personale operativo e di produzione di gestire le applicazioni Web distribuite. Lo System.Web.Management spazio dei nomi contiene i tipi di evento di integrità responsabili della creazione del pacchetto dei dati sullo stato di integrità dell'applicazione e i tipi di provider responsabili dell'elaborazione di questi dati. Contiene anche tipi di supporto utili durante la gestione degli eventi di integrità.
La WebAuditEvent classe è la classe base da cui derivano le classi audit-event di monitoraggio dell'integrità ASP.NET. Gli eventi di controllo generano informazioni sulle operazioni correlate alla sicurezza in un'applicazione Web e forniscono sia un evento di esito positivo che negativo per ogni operazione di controllo.
Il sistema di monitoraggio dell'integrità può controllare gli eventi riusciti e non riusciti, il che significa che un'applicazione può essere monitorata sia per le condizioni normali che non funzionanti. Per impostazione predefinita, vengono registrati solo gli eventi di controllo degli errori.
Le operazioni seguenti vengono controllate da ASP.NET e possono generare eventi di controllo di monitoraggio dell'integrità riuscito o negativo:
Tentativi di accesso effettuati dagli utenti di un'applicazione ASP.NET. Per altre informazioni su questo controllo, vedere WebAuthenticationSuccessAuditEvent e WebSuccessAuditEvent.
Eventi correlati alla sicurezza, ad esempio errori di autenticazione, tentativi di accesso alle risorse non riusciti e altri eventi correlati alla sicurezza. Il log di questi eventi può essere utile durante l'analisi di un'intrusione o un attacco all'applicazione. Per impostazione predefinita, non viene fornito alcun supporto di controllo per gli errori di autorizzazione degli utenti anonimi. Per altre informazioni sui controlli degli eventi di errore, vedere WebAuthenticationFailureAuditEvent e WebFailureAuditEvent.
Eventi personalizzati generati da un'applicazione ASP.NET. È possibile controllare gli eventi personalizzati estendendo le funzionalità fornite dalla classe e dalle WebAuditEvent classi derivate
Nota
Nella maggior parte dei casi sarà possibile usare i tipi di monitoraggio dell'integrità ASP.NET implementati e sarà possibile controllare il sistema di monitoraggio dell'integrità specificando i valori nella healthMonitoring
sezione di configurazione. È anche possibile derivare dai tipi di monitoraggio dell'integrità per creare provider ed eventi personalizzati. Per un esempio di derivazione dalla WebAuditEvent classe , vedere l'esempio fornito in questo argomento.
Note per gli eredi
Quando si formattano le informazioni sull'evento personalizzato per la visualizzazione, eseguire l'override del FormatCustomEventDetails(WebEventFormatter) metodo anziché del ToString metodo . In questo modo si evita di sovrascrivere o manomettere le informazioni sensibili del sistema.
Costruttori
WebAuditEvent(String, Object, Int32) |
Inizializza una nuova istanza della classe WebAuditEvent utilizzando i parametri forniti. |
WebAuditEvent(String, Object, Int32, Int32) |
Inizializza una nuova istanza della classe WebAuditEvent con i parametri di evento specificati. |
Proprietà
EventCode |
Ottiene il valore di codice associato all'evento. (Ereditato da WebBaseEvent) |
EventDetailCode |
Ottiene il codice dettagliato dell'evento. (Ereditato da WebBaseEvent) |
EventID |
Ottiene l'identificatore associato all'evento. (Ereditato da WebBaseEvent) |
EventOccurrence |
Ottiene un contatore che rappresenta il numero di occorrenze dell'evento. (Ereditato da WebBaseEvent) |
EventSequence |
Ottiene il numero di volte in cui l'evento è stato generato dall'applicazione. (Ereditato da WebBaseEvent) |
EventSource |
Ottiene l'oggetto che genera l'evento. (Ereditato da WebBaseEvent) |
EventTime |
Ottiene la data e l'ora in cui è stato generato l'evento. (Ereditato da WebBaseEvent) |
EventTimeUtc |
Ottiene la data e l'ora in cui è stato generato l'evento. (Ereditato da WebBaseEvent) |
Message |
Ottiene il messaggio nel quale è descritto l'evento. (Ereditato da WebBaseEvent) |
ProcessInformation |
Ottiene informazioni sul processo che ospita l'applicazione ASP.NET. (Ereditato da WebManagementEvent) |
RequestInformation |
Ottiene le informazioni associate alla richiesta Web. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
FormatCustomEventDetails(WebEventFormatter) |
Fornisce una formattazione standard delle informazioni relative all'evento. (Ereditato da WebBaseEvent) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
IncrementPerfCounters() |
Utilizzato internamente per incrementare i contatori delle prestazioni. (Ereditato da WebBaseEvent) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
Raise() |
Genera un evento notificando a qualsiasi provider configurato che l'evento si è verificato. (Ereditato da WebBaseEvent) |
ToString() |
Formatta le informazioni relative all'evento ai fini della visualizzazione. (Ereditato da WebBaseEvent) |
ToString(Boolean, Boolean) |
Formatta le informazioni relative all'evento ai fini della visualizzazione. (Ereditato da WebBaseEvent) |