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
Si votre site Web ne possède pas déjà un dossier Global.asax, créez-en un à la racine du site.
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