Ridurre le dimensione di una pagina (Atto III)

di Stefano Mostarda, in .NET,

Nel mio ultimo post abbiamo visto 3 tecniche per ottenere il risultato scritto nel titolo. Come giustamente Daniele mi ha fatto notare, tra quelle illustrate mancava quella più importante, elegante e, sopratutto, corretta: un HttpModule. (Dovevo essere veramente stanco per non proporla subito).

Con questo metodo possiamo estendere la pipeline di ASP.NET senza essere assolutamente "invasivi" nei confronti delle nostre applicazioni (al contrario di quanto avverrebbe usando un httphandler). Creando una nuova classe che implementa l'interfaccia IHttpModule, possiamo aggiungere un nuovo delegato all'evento BeginRequest che non fa altro che aggiungere la nostra al Response.Filter.

Vediamo un po' di codice che, come sempre, è un ottimo aiuto.

public class MyHttpModule : IHttpModule{

public void Init(HttpApplication application){

application.BeginRequest += new EventHandler(BeginRequest);

}

public void Dispose(){}

public void BeginRequest(Object sender, EventArgs e){

HttpApplication app = ((HttpApplication)sender);

Filtro rf = new Filtro(app.Context.Response.Filter);

app.Context.Response.Filter = rf;

}

}

Il codice della classe Filtro è presente nel precedente post.

P.S. Ringrazio la squadra dell'Inter che domenica scorsa mi ha fatto perdere 750 euro con il pareggio a Siena. Grazie di cuore.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese