L'OutputCache è uno dei meccanismi più interessanti di ASP.NET, perchè permette di tenere in cache una pagina già eseguita a seconda di diversi parametri.
Oltre che con la direttiva OutputCache, è possibile specificare le policy anche da codice, in maniera programmatica, attraverso Response.Cache.
In particolare, l'oggetto HttpResponse ha un metodo AddCacheItemDependency che permette di impostare una dipendenza della pagina ad un oggetto.
Ritorna molto comodo, perchè è così possibile tenere in cache una pagina, oltre che per il tempo impostato, anche in base ad un oggetto, assicurandoci che il contenuto mostrato sia sempre aggiornato.
Ecco quindi un esempio:
<SCRIPT language="C#" runat="server">
void Page_Load() {
// cache sul server
Response.Cache.SetCacheability(HttpCacheability.Server);
Response.Cache.VaryByParams.IgnoreParams = true;
// scadenza
Response.Cache.SetExpires(DateTime.Now.AddMinutes(1));
// lega ad oggetto di nome "dati"
Response.AddCacheItemDependency("dati");
// scrivo a video l'ora
Response.Write(Cache["dati"].ToString());
Response.Write("<br>" + DateTime.Now.ToString());
}
</SCRIPT>L'oggetto in Cache di nome "dati" contiene l'ora corrente e serve per confrontarlo con il tempo di esecuzione, scritto in basso. Noterete che entrambi, a parte la prima esecuzione, non cambiano poi.
Se si prova a modificare l'oggetto in Cache, la pagina verrà ricaricata.
E' utile sottolineare come questa impostazione non sia possibile nella direttiva, anche se è possibile combinarla con una dichiarazione attraverso la direttiva.
Per approfondimenti sulla Cache si veda:
http://www.aspitalia.com/ricerca/super.aspx?usag=1&key=Cache
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.










Stampa
Snippet
Download 



