Cache di porzioni di una pagina

di: Angelo Ranucci     11 Ottobre 2006

Testiamo il nostro esempio con il VWD o con IIS, dopo aver aggiunto un file di configurazione.

Figura 2. Test dell'esempio sviluppato

Test dell'esempio sviluppato

Cliccando su "Aggiorna", la sezione cached viene aggiornata ogni 10 secondi.

Per ricevere la stringa restituita dal metodo di callback e per visualizzarla non cached in una pagina cached si può anche usare il metodo WriteSubstitution(HttpResponseSubstitutionCallback callback) della classe HttpResponse, che è stato introdotto con la versione 2 di ASP.NET cone il controllo Substitution.

Ad esempio nel nostro caso potremmo scrivere:

Listato 4. Uso di WriteSubstitution

Response.WriteSubstitution(GetCurrentDateTime);

Si può centralizzare l'impostazione della cache sulle varie pagine del sito configurando opportunamente il Web.Config. Ad esempio si possono impostare diversi profili di caching.

Listato 5. Impostazione di vari profili di caching

<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
  <caching>
    <outputCacheSettings>
      <outputCacheProfiles>
        <add name="CachingOf10Sec" duration="10" />
        <add name="CachingOf10Min" duration="600" />
        <add name="CachingOf30Min" duration="1800" />
      </outputCacheProfiles>
    </outputCacheSettings>
  </caching>
<compilation debug="true"/>
<authentication mode="Windows"/>
</system.web>
</configuration>

Poi per utilizzare un profilo di caching in una pagina occorre specificarlo nella direttiva OutputCache:

Listato 6. Utilizzo di un profilo di caching

<%@ OutputCache CacheProfile="CachingOf10Sec" VaryByParam="none" %>

L'esempio sviluppato in questo articolo può essere scaricato da qui.

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Progettazione database

11 Maggio 2012 a Milano
Disponibilità: 6 Posti

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto