La direttiva OutputCache con ASP.NET 2.0 e 3.5

di Andrea Zani, in ASP.NET 2.0, Cache, System.Web.Caching,

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

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