Impostazione di scadenze per la memorizzazione di pagine nella cache

Per aggiungere una pagina alla cache di output, è necessario stabilire un criterio di scadenza per la pagina stessa. È possibile eseguire questa operazione in modo dichiarativo, con la direttiva @ OutputCache, o a livello di codice, con il metodo HttpCachePolicy.SetExpires. Per impostazione predefinita, la direttiva @ OutputCache imposta l'intestazione Cache-Control su Public.

Se le scadenze di una pagina vengono impostate a livello di programmazione, è necessario impostare l'intestazione Cache-Control anche per la pagina memorizzata nella cache. Utilizzare il metodo HttpCachePolicy.SetCacheability per impostare l'enumerazione HttpCacheability su Public.

Per impostare le scadenze della cache di output per una pagina in modo dichiarativo

  • Includere una direttiva @ OutputCache nella pagina (file ASPX) la cui risposta si desidera inserire nella cache di output. La direttiva deve contenere un attributo Duration con un valore numerico positivo e un attributo VaryByParam. La seguente direttiva @ OutputCache consente di impostare la scadenza della pagina su 60 secondi.

    <%@ OutputCache Duration="60" VaryByParam="None" %>
    

    Nota   Quando si utilizza la direttiva @ OutputCache è necessario includere un attributo VaryByParam, in caso contrario si verificherà un errore del parser. Se non si desidera utilizzare la funzionalità fornita con l'attributo VaryByParam, impostare il valore dell'attributo su None. Per ulteriori informazioni sull'utilizzo dell'attributo VaryByParam, vedere Memorizzazione nella cache di più versioni di una pagina.

Per impostare le scadenze della cache di output per una pagina a livello di programmazione

  • Includere il codice che imposta il criterio di scadenza della pagina nel blocco di dichiarazione del codice della pagina o nella classe sottostante il codice utilizzando la sintassi Response.Cache. Nell'esempio seguente vengono impostate le scadenze della pagina nello stesso modo in cui vengono impostate tramite la direttiva @ OutputCache nella routine precedente.

    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
    Response.Cache.SetCacheability(HttpCacheability.Public);
    Response.Cache.SetValidUntilExpires(true);
    [Visual Basic]
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
    Response.Cache.SetValidUntilExpires(True)
    

Quando la pagina memorizzata nella cache scade, alla successiva richiesta della pagina la risposta viene generata dinamicamente. La pagina di risposta viene nuovamente memorizzata nella cache per il periodo di tempo specificato.

Vedere anche

Memorizzazione nella cache di pagine ASP.NET | Enumerazione HttpCacheability | Memorizzazione dell'output di pagine con dipendenze di chiavi di cache | Classe HttpCachePolicy | Classe HttpResponse | Direttiva @ OutputCache