Como: Criar evento manipuladores de nível de aplicativo ASP.NET

O ASP.NET vincula automaticamente os eventos de aplicativo a métodos de manipuladores de eventos no arquivo Global.asax usando uma convenção de nomeclatura de Application_event, tal como Application_BeginRequest e Application_Error.Para obter mais informações, consulte Ciclo de Vida do Aplicativo ASP.NET uma visão geral para o IIS 5.0 e 6.0.

Esta exemplo de código manipula o evento Error no nível do aplicativo e grava informações de erro para o log de eventos do sistema.O evento Error é gerado sempre que um erro de aplicativo ou erro não tratado de página ocorre.

Para criar manipuladores de evento a nível do aplicativo em ASP.NET

  1. Se seu site da Web ainda não tiver um arquivo Global.asax, crie um na raiz do site.

  2. Criar um método de manipulador de eventos cujo nome segue o padrão Application_ evento. Por exemplo, para manipular um evento Error do aplicativo, crie um manipulador chamado Application_Error que utiliza um parâmetro Object e um parâmetro EventArgs.

Exemplo

O exemplo de código a seguir mostra um manipulador no arquivo Global.asax para o evento Error.O manipulador no exemplo é chamado sempre que uma exceção sem-tratamento ocorrer em qualquer lugar no aplicativo.Se uma exceção é detectada em um bloco try/catch ou por um evento Error do objeto da página, o aplicativo não aumenta o erro Error.

Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
    ' check to see if the ASPNETApplication log exists
    If Not System.Diagnostics.EventLog. _
            SourceExists("ASPNETApplication") Then
        System.Diagnostics.EventLog. _ 
            CreateEventSource("ASPNETApplication", "Application")
    End If
    System.Diagnostics.EventLog. _
        WriteEntry("ASPNETApplication", 
        Server.GetLastError().Message)
End Sub
void Application_Error(Object sender, EventArgs e)
{
    if(!System.Diagnostics.EventLog.SourceExists
            ("ASPNETApplication"))
    {
        System.Diagnostics.EventLog.CreateEventSource
           ("ASPNETApplication", "Application");
    }
    System.Diagnostics.EventLog.WriteEntry
        ("ASPNETApplication", 
        Server.GetLastError().Message);
}

O código grava uma entrada para o log de eventos do sistema.Ele verifica primeiro para determinar se a entrada log de eventos chamada ASPNETApplication Existe; caso contrário, o código cria.O código obtém o mensagem de erro associada ao erro chamando o método GetLastError e, em seguida, grava o log de mensagem de erro.

Segurança

Esta exemplo de código requer que o aplicativo tenha permissão para acessar o log de eventos do sistema.Para obter mais informações sobre como usar o log de eventos do sistema, consulte Como: Gravar um log de eventos do aplicativo.

Consulte também

Conceitos

Ciclo de Vida do Aplicativo ASP.NET uma visão geral para o IIS 5.0 e 6.0

Outros recursos

Tratamento de erro em páginas e aplicativos ASP.NET