Utilisation des modules avec le fichier Global.asax
ASP.NET fournit plusieurs modules qui participent à chaque demande et exposent des événements que vous pouvez gérer dans Global.asax. Vous pouvez personnaliser et étendre ces modules comme vous le souhaitez ou développer des modules personnalisés totalement nouveaux pour traiter les informations à destination et à propos des demandes HTTP faites à votre application ASP.NET. Vous pouvez par exemple créer un module de cache de sortie qui implémente les comportements de mise en cache de sortie pour l'intégralité de votre application.
Tous les modules, qu'ils soient personnalisés ou fournis par le .NET Framework, doivent implémenter l'interface IHttpModule. Dès que ces modules sont inscrits avec votre application, vous pouvez aisément interagir avec les demandes HTTP arrivant dans votre application.
Gestion des événements HttpModule
Vous pouvez utiliser le fichier Global.asax pour gérer tout événement exposé par les modules de la demande. Vous pouvez par exemple créer un module d'authentification personnalisé pour votre application Web ASP.NET, dans lequel vous pouvez exposer un événement OnAuthenticateRequest. Le code que vous écrivez pour gérer les événements exposés par un module HttpModule doit se conformer au modèle d'affectation de nom suivant :
FriendlyModuleName_EventName(AppropriateEventArgumentSignature)
Par exemple, si vous souhaitez inclure du code de gestion d'événement pour le début et la fin d'une session, ainsi que pour un événement OnAuthenticateRequest, il pourrait avoir l'apparence suivante.
<Script language="VB" runat="server">
Sub Session_OnStart()
'Session start-up code goes here.
End Sub
Sub Session_OnEnd()
'Session clean-up code goes here.
End Sub
Sub Application_OnAuthenticateRequest(Source As Object, Details as EventArgs)
'Authentication code goes here.
End Sub
</script>
[C#]
<Script language="C#" runat="server">
void Session_OnStart() {
// Session start-up code goes here.
}
void Session_OnEnd() {
// Session clean-up code goes here.
}
void Application_OnAuthenticateRequest(Object Source, EventArgs Details) {
// Authentication code goes here.
}
</script>