Fragment Caching con la funzionalità Post Cache Substitution con ASP.NET 2.0

di Daniele Bochicchio, in ASP.NET 2.0, Cache, System.Web.Caching,

Il Fragment Caching è una funzionalità introdotta sin dalla prima versione di ASP.NET che consente di tenere in cache solo un frammento, in genere uno User Control, in modo che l'output (HTML) risultante non venga generato ogni volta.
Di contro è possibile tenere in cache anche un'intera pagina, ma poi in questo modo si perde la possibilità per alcune aree di essere sempre aggiornate.
A partire dalla versione 2.0 è stato introdotto un nuovo meccanismo, noto con il nome di Post Cache Substitution, che consente di definire zone specifiche nella pagina che non saranno tenute in cache, ma aggiornate ad ogni caricamento.
Il sistema più immediato per mettere in pratica questa tecnica è quello di utilizzare il control Substitution, la cui proprietà MethodName accetta il nome di una funzione che farà da Callback.
La funzione deve essere statica e restituire una stringa:

<%@ OutputCache location="server" duration="60" VaryByParam="none" %>
<form runat="server">
Parte in cache: <asp:label id="date" runat="server" /><br />
Parte aggiornata: <asp:Substitution runat="server" MethodName="GetCurentDate" />
</form>
<script runat="server" language="C#">
void Page_Load()
{
  date.Text = DateTime.Now.ToString();
}

static string GetCurentDate(HttpContext context)
{
 return DateTime.Now.ToString();
}
</script>

Per approfondimenti sulle novità della Cache in ASP.NET 2.0 si veda:

I meccanismi di caching in ASP.NET 2.0
https://www.aspitalia.com/articoli/asp.net2/caching.aspx

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.

Approfondimenti

I più letti di oggi