La direttiva Outputcache in ASP.NET si può inserire sia a livello di pagina che a livello di usercontrol e ci permette, grazie alla memorizzazione temporanea nella cache interna, maggiori prestazioni per la nostra web application e un carico nettamente inferiore al server in caso di pagine il cui output è generato da operazioni "pesanti" (query su database, richieste via web services, ecc...).
Dalla versione 2.0 di ASP.NET sono state aggiunti alcuni parametri di uso molto comodo:
- Shared (true/false): consente, solo per gli usercontrol, il caching del codice prodotto condiviso tra tutte le pagine che contengono questo controllo;
- NoStore: (true/false): invia un header aggiuntivo con la pagina per impostare il browser in modo che non mantenga nella sua cache il contenuto della pagina.
- SqlDependency: per collegare la cencallazione dalla cache della pagina dipendentemente dal contenuto di una tabella, come spiegato nell'articolo su
https://www.aspitalia.com/articoli/asp.net2/caching-p-2.aspx
- VaryByContentEncoding (introdotto dalla versione 3.5): con questo attributo è possibile inserire, separate dalla virgola, l'encoding delle pagine da mantenere in cache.
- CacheProfile: permette di definire tutti i parametri di caching nel web.config, suddivisi in profili.
Quest'ultima è una delle novità più comode, perché permette di mantenere, in un unico luogo, tutte le configurazioni di caching di pagina/usercontrol. Possiamo quindi scrivere nella pagina:
<%@ OutputCache CacheProfile="Cache30Seconds" %>
E nel web.config possiamo inserire le due configurazioni utilizzate in questo modo:
<caching> <outputCacheSettings> <outputCacheProfiles> <add name="Cache30Seconds" duration="30" varyByParam="none" /> <add name="Cache300Seconds" duration="300" varyByParam="id" /> </outputCacheProfiles> </outputCacheSettings> </caching>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.