WebFailureAuditEvent Classe

Definição

Fornece informações sobre falhas de segurança.

public ref class WebFailureAuditEvent : System::Web::Management::WebAuditEvent
public class WebFailureAuditEvent : System.Web.Management.WebAuditEvent
type WebFailureAuditEvent = class
    inherit WebAuditEvent
Public Class WebFailureAuditEvent
Inherits WebAuditEvent
Herança
Derivado

Exemplos

O exemplo de código a seguir demonstra como derivar da WebFailureAuditEvent classe para criar um evento de auditoria personalizado.


using System;
using System.Text;
using System.Web;
using System.Web.Management;

namespace SamplesAspNet
{
    // Implements a custom WebFailureAuditEvent class. 
    public class SampleWebFailureAuditEvent : 
        System.Web.Management.WebFailureAuditEvent
    {
        private string customCreatedMsg, customRaisedMsg;

        // Invoked in case of events identified only by their event code.
        public SampleWebFailureAuditEvent(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 SampleWebFailureAuditEvent(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 SampleWebFailureAuditEvent.
        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()
        {
            // No customization is allowed.
            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(
                "******** SampleWebFailureAuditEvent 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(
                "******** SampleWebFailureAuditEvent End ********");

            formatter.IndentationLevel -= 1;
        }
    }
}
Imports System.Text
Imports System.Web
Imports System.Web.Management


' Implements a custom WebFailureAuditEvent class. 

Public Class SampleWebFailureAuditEvent
    Inherits System.Web.Management.WebFailureAuditEvent
    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 SampleWebFailureAuditEvent.
    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 
        ' No customization is allowed.
        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("******** SampleWebFailureAuditEvent 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("******** SampleWebFailureAuditEvent End ********")

        formatter.IndentationLevel -= 1

    End Sub

End Class

O trecho de configuração a seguir mostra como habilitar ASP.NET usar o evento WebFailureAuditEvent.

<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="SampleWebFailureAuditEvent"
type="SamplesAspNet.SampleWebFailureAuditEvent,
webfailureauditevent,Version=1.0.1663.31140,
Culture=neutral,
PublicKeyToken=0d1fa0f69d94de96,
processorArchitecture=MSIL"/>
</eventMappings>

<rules>
<add name="Custom Failure Audit Default"
eventName=" SampleWebFailureAuditEvent "
provider="EventLogProvider"
profile="Default"/>
</rules>

</healthMonitoring>

Comentários

ASP.NET monitoramento de integridade permite que a equipe de produção e operações gerencie aplicativos Web implantados. O System.Web.Management namespace contém os tipos de evento de integridade responsáveis por empacotar dados de status de integridade do aplicativo e os tipos de provedor responsáveis por processar esses dados. Ele também contém tipos de suporte que ajudam durante o gerenciamento de eventos de integridade.

A WebFailureAuditEvent classe é usada quando uma operação de segurança falha. Um exemplo disso é uma autorização de URL com falha para uma solicitação da Web.

Por padrão, ASP.NET está configurado para gerar o evento WebFailureAuditEvent para os seguintes recursos:

Quando um evento WebFailureAuditEvent é acionado, ASP.NET monitoramento de integridade incrementa o contador de desempenho gerado pelos eventos de falha de auditoria relacionados e verifica a seção de configuração healthMonitoring para determinar se os provedores assinam o evento. Se os provedores assinarem o evento, ASP.NET enviará o evento para eles para processamento.

Note

Para exibir o contador de desempenho Eventos de Falha de Auditoria gerados no Monitor do Sistema (PerfMon), na janela Add Counters, selecione ASP.NET na lista suspensa Performance lista suspensa, selecione o contador de desempenho Audit Failure Raised, e clique no botão Add.

Note

Na maioria dos casos, você poderá usar os tipos de monitoramento de integridade ASP.NET conforme implementado e controlará o sistema de monitoramento de integridade especificando valores na seção de configuração healthMonitoring. Você também pode derivar dos tipos de monitoramento de integridade para criar seus próprios eventos e provedores personalizados. Para obter um exemplo de derivação da WebFailureAuditEvent classe, consulte a seção Exemplo.

Notas aos Herdeiros

Ao formatar suas informações de evento personalizadas para exibição, substitua o FormatCustomEventDetails(WebEventFormatter) método em vez do ToString método. Isso evitará substituir ou adulterar informações confidenciais do sistema.

Construtores

Nome Description
WebFailureAuditEvent(String, Object, Int32, Int32)

Inicializa uma nova instância da WebFailureAuditEvent classe usando os parâmetros fornecidos.

WebFailureAuditEvent(String, Object, Int32)

Inicializa uma nova instância da WebFailureAuditEvent classe usando os parâmetros fornecidos.

Propriedades

Nome Description
EventCode

Obtém o valor de código associado ao evento.

(Herdado de WebBaseEvent)
EventDetailCode

Obtém o código de detalhes do evento.

(Herdado de WebBaseEvent)
EventID

Obtém o identificador associado ao evento.

(Herdado de WebBaseEvent)
EventOccurrence

Obtém um contador que representa o número de vezes que o evento ocorreu.

(Herdado de WebBaseEvent)
EventSequence

Obtém o número de vezes que o evento foi gerado pelo aplicativo.

(Herdado de WebBaseEvent)
EventSource

Obtém o objeto que gera o evento.

(Herdado de WebBaseEvent)
EventTime

Obtém a hora em que o evento foi acionado.

(Herdado de WebBaseEvent)
EventTimeUtc

Obtém a hora em que o evento foi acionado.

(Herdado de WebBaseEvent)
Message

Obtém a mensagem que descreve o evento.

(Herdado de WebBaseEvent)
ProcessInformation

Obtém informações sobre o ASP.NET processo de hospedagem de aplicativos.

(Herdado de WebManagementEvent)
RequestInformation

Obtenha as informações associadas à solicitação da Web.

(Herdado de WebAuditEvent)

Métodos

Nome Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FormatCustomEventDetails(WebEventFormatter)

Fornece a formatação padrão das informações do evento.

(Herdado de WebBaseEvent)
GetHashCode()

Serve como a função hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IncrementPerfCounters()

Incrementa o contador de desempenho gerado pelos eventos de falha de auditoria.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
Raise()

Gera um evento notificando qualquer provedor configurado de que o evento ocorreu.

(Herdado de WebBaseEvent)
ToString()

Formata informações de evento para fins de exibição.

(Herdado de WebBaseEvent)
ToString(Boolean, Boolean)

Formata informações de evento para fins de exibição.

(Herdado de WebBaseEvent)

Aplica-se a

Confira também