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
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
- Simulare Azure Cosmos DB in locale con Docker
- Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
- .NET Conference Italia 2023 - Milano e Online
- .NET Conference Italia 2024 - Milano
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!