Gli HTTP Module di ASP.NET sono oggetti che vengono chiamati ad ogni richiesta effettuata su qualsiasi tipo di risorsa della nostra applicazione Web. In un articolo precedente abbiamo approfondito la conoscenza degli HTTP Handler, una parte molto importante della pipeline di ogni richiesta ASP.NET, con i moduli siamo in grado di modificare e quindi estendere il ciclo di vita di ogni richiesta HTTP e di metter mano a particolari eventi di questo ciclo.
In un modulo è possibile accedere agli stessi eventi della pipeline di richiesta che gestiamo nel Global.asax. In questo file sono presenti infatti tutti gli event handler per gestire gli eventi scatenati durante le richieste HTTP (BeginRequest, EndRequest, etc.).
È sconsigliabile però usare il Global.asax per almeno due ragioni:
Proprio per questi motivi, abbiamo la possibilità di creare i nostri moduli personalizzati che reagiscano ad eventi precisi durante le richieste HTTP per eseguire particolari operazioni in base alle nostre esigenze.
Il runtime di ASP.NET fa un uso decisamente elevato degli HTTP Module. Basti pensare che tutte le features come l'autenticazione (anonima, integrata o tramite Form), le autorizzazioni su file e percorsi, i ruoli, i profili, la gestione della sessione e della cache, sono tutte implementate attraverso degli HTTP Module.
Tale scelta è stata sicuramente dettata dalla possibilità di aggiungere funzionalità particolari alla pipeline di esecuzione di ogni richiesta HTTP.
Come per gli HTTP Handler, anche gli HTTP Module hanno una sezione del web.config a loro riservata per permetterci di visualizzare quelli registrati di default nel runtime di ASP.NET, per eliminarne (in caso non ci volessimo avvalere di qualche funzionalità di base del framework) e per registrare i nostri personalizzati. Questa sezione di configurazione è rappresentata dall'elemento <httpModules />, figlio diretto dell'elemento <system.web />.
Per visualizzare i moduli predefiniti, basta raggiungere il percorso
C:\WINDOWS\Microsoft.NET\Framework\Vx.x.xxxxx\CONFIG
e visualizzare contenuto del file web.config (file unico per tutte le applicazioni web installate sul server).
Questi i principali HTTP Module utilizzati dal framework di ASP.NET:
System.Web.Security).System.Web.Profile).System.Web.Security).System.Web.SessionState).System.Web.Caching).
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200820 Febbraio 2012 a Milano |
|
Nessun corso previsto |