Partager via


Comment : créer des gestionnaires d'événements au niveau de l'application ASP.NET

Mise à jour : novembre 2007

ASP.NET lie automatiquement des événements d'application à des méthodes de gestionnaire d'événements dans le fichier Global.asax à l'aide de la convention d'affectation de noms Application_event, par exemple Application_BeginRequest et Application_Error. Pour plus d'informations, consultez Vue d'ensemble du cycle de vie des applications ASP.NET pour IIS 5.0 et 6.0.

Cet exemple de code gère l'événement Error au niveau de l'application et écrit des informations sur les erreurs dans le journal des événements système. L'événement Error est déclenché dès qu'une erreur d'application ou une erreur de page non gérée se produit.

Pour créer un gestionnaire d'événements ASP.NET au niveau de l'application

  1. Si votre site Web ne possède pas déjà un dossier Global.asax, créez-en un à la racine du site.

  2. Créez une méthode de gestionnaire d'événements dont le nom suit l'événement Application_. Par exemple, pour gérer un événement d' application Error, créez un gestionnaire nommé Application_Error qui accepte un paramètre Object et un paramètre EventArgs.

Exemple

L'exemple de code suivant illustre un gestionnaire dans le fichier Global.asax pour l'événement Error. Le gestionnaire de l'exemple est appelé dès qu'une exception non gérée se produit n'importe où dans l'application. Si une exception est interceptée dans un bloc try/catch ou par l'événement Error d'un objet page, l'application ne déclenche pas l'erreur 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);
}

Le code écrit une entrée dans le journal des événements système. Il vérifie d'abord afin de déterminer si l'entrée du journal des événements nommée ASPNETApplication existe ; si elle n'existe pas, le code la crée. Le code obtient le message d'erreur associé à l'erreur en appelant la méthode GetLastError, puis écrit le message d'erreur dans le journal.

Sécurité

Cet exemple de code requiert que l'application dispose de l'autorisation d'accéder au journal des événements système. Pour plus d'informations sur l'utilisation du journal des événements système, consultez Comment : écrire dans le journal des événements de l'application.

Voir aussi

Concepts

Vue d'ensemble du cycle de vie des applications ASP.NET pour IIS 5.0 et 6.0

Autres ressources

Gestion des erreurs dans les pages et les applications ASP.NET