Utilizzo di moduli con il file Global.asax

In ASP.NET sono disponibili numerosi moduli che vengono utilizzati ad ogni richiesta ed espongono eventi che possono essere gestiti in Global.asax. È possibile personalizzare ed estendere tali moduli o sviluppare moduli personalizzati completamente nuovi per elaborare informazioni che riguarderanno o verranno utilizzate dalle richieste HTTP pervenute all'applicazione ASP.NET. È possibile ad esempio creare un modulo per la cache di output che consenta di implementare i comportamenti di memorizzazione nella cache di output per l'intera applicazione.

Tutti i moduli, sia quelli personalizzati che quelli forniti da .NET Framework, devono implementare l'interfaccia IHttpModule. Se tali moduli sono registrati con l'applicazione, è possibile interagire facilmente con le richieste HTTP in arrivo nell'applicazione.

Gestione di eventi HttpModule

È possibile utilizzare il file Global.asax per gestire ogni evento esposto dai moduli nella richiesta. È possibile ad esempio creare un modulo di autenticazione personalizzato per l'applicazione Web ASP.NET in cui si può esporre un evento OnAuthenticateRequest. Il codice creato per gestire gli eventi esposti da un HttpModule deve essere conforme al criterio di denominazione seguente:

FriendlyModuleName_EventName(AppropriateEventArgumentSignature)

Il codice per la gestione degli eventi di inizio e fine di una sessione, nonché dell'evento OnAuthenticateRequest, potrebbe ad esempio essere simile a quello riportato di seguito:

<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>

Vedere anche

Applicazioni ASP.NET | IHttpModule