Ancora alla ricerca delle novità di asp.net 2.0 ecco che mi ritrovo dinanzi il webcontrol Substitution... e che è? Penso a qualche classe per la gestione delle stringhe con regular expression e divertimenti simili... ma mi sbagliavo: è un webcontrol utilissimo soprattutto se si utilizza spesso mettere in cache tutta la pagina e per gli amanti della cache (come Daniele).
Siccome penso che un esempio valga più di mille (mie) parole, ecco qui questo webcontrol all'opera:
<%@ page language="C#" %> <%@ OutputCache Duration="10" VaryByParam="none" %> <script runat="server"><p />void Page_Load(object sender, EventArgs e) { Label1.Text = DateTime.Now.ToString(); } public static string Aggiorna(HttpContext context) { return DateTime.Now.ToString(); } </script> <html> <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <asp:Label ID="Label1" Runat="server" /> <br /> <asp:Substitution ID="Substitution1" Runat="server" MethodName="Aggiorna" /> <br /> </form> </body> </html>
Nelle direttive della pagina è stato impostata la cache di 10 secondi, in modo che dopo la prima richiesta sarà sempre restituita per i sucessivi 10 secondi sempre la stessa pagina.
Nella prima "Label" viene inserita data e ora, e questa rimarrà fissa per quell'intervallo di tempo, ma se inseriamo il webControl Substitution possiamo aggiornare ad ogni richiesta anche se la cache è attiva una sezione della pagina.
Nel webcontrol è impostato la proprietà "MethodName", la funzione - che deve restituire una stringa - dichiarato sarà richiamato ad ogni richiesta della pagina e la stringa ritornata dalla funzione sarà inserito in quel punto della pagina.
Infatti, se richiamiamo il codice qui sopra, per 10 secondi la prima label visualizzerà sempre lo stesso risultato, mentre al posto del webcontrol Substitution, sarà aggiorata ad ogni richiesta la data e ora...
Notevole...
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Un po' di benchmark tra Linq, Entity Framework e Nhibernate, il 12 ottobre 2008 alle 14:46
- UrlRewriting con trabocchetti vari, l'11 dicembre 2007 alle 21:00
- Windows Forms - DataGridView e validazione, il 23 settembre 2007 alle 20:08
- ControlParameter e masterpage... bug?, il 23 dicembre 2006 alle 15:58
- Se Visual Studio 2005 non accetta più la tastiera, il 16 dicembre 2006 alle 20:45
- Service Pack 1 di Visual Studio 2005, il 16 dicembre 2006 alle 20:35