Condividi tramite


Impostazione del valore di memorizzazione nella cache di una pagina

Aggiornamento: novembre 2007

Il valore di inserimento nella cache di una pagina o di un controllo utente fa riferimento alla possibilità o meno di memorizzare una pagina nella cache di una periferica durante il ciclo di vita delle risposta della pagina. Le periferiche in cui è possibile memorizzare nella cache una pagina includono il browser che esegue la richiesta, il server Web che risponde alla richiesta e tutte le altre periferiche con supporto per la cache, ad esempio i server proxy, che si trovano all'interno del flusso di richieste o di risposte.

Quando un server Web invia una risposta al browser che effettua la richiesta, il server include nella risposta un campo Cache-Control nell'intestazione HTTP che definisce le periferiche in cui la pagina può essere memorizzata nella cache. In base alle esigenze dell'applicazione, è possibile definire le periferiche in cui è possibile o impossibile memorizzare nella cache singole pagine ASP.NET. È ad esempio preferibile che il valore di inserimento di una pagina di accesso utente nella cache sia diverso da quello di una pagina in cui viene visualizzata una selezione dei prodotti di un catalogo. Per ragioni di sicurezza, la pagina di accesso dovrà essere memorizzata solo nella cache del server, mentre la pagina del catalogo potrà essere memorizzata nella cache di qualsiasi periferica.

Il valore di inserimento delle pagine ASP.NET nella cache può essere impostato mediante i valori dell'enumerazione HttpCacheability. L'enumerazione contiene i valori indicati di seguito. I primi tre vengono mappati direttamente alle impostazioni dell'intestazione HTTP Cache-Control mentre gli altri tre sono valori speciali.

  • NoCache   Specifica che la periferica che esegue la richiesta deve ottenere ogni volta la risposta dal server Web.

  • Public   Consente la memorizzazione nella cache della risposta da parte di client e cache condivise (proxy).

  • Private   Specifica che la risposta può essere inserita nella cache solo nel client e non da cache condivise (server proxy).

  • Server   Specifica che la risposta viene memorizzata nella cache solo nel server di origine.

  • ServerAndNoCache   Applica le impostazioni di Server e NoCache per indicare che il contenuto è memorizzato nella cache del server ma a tutti gli altri metodi viene esplicitamente negata la possibilità di memorizzare la risposta nella cache.

  • ServerAndPrivate   Specifica che una risposta deve essere memorizzata nella cache solo nel server di origine e nel client che ha effettuato la richiesta. Ai server proxy non è consentito memorizzare la risposta nella cache.

È possibile impostare il valore di inserimento di una pagina nella cache in modo dichiarativo includendo un attributo Location nella direttiva @ OutputCache e specificando uno dei valori di enumerazione OutputCacheLocation. Il valore di inserimento di una pagina nella cache può essere inoltre impostato a livello di codice utilizzando il metodo SetCacheability per specificare un valore HttpCacheability per la pagina. Il metodo è accessibile attraverso la proprietà Cache della classe Response.

Nota:

Se si utilizza la direttiva @ OutputCache per impostare il valore di inserimento della pagina nella cache, è necessario dichiarare l'attributo Duration e l'attributo VaryByControl o VaryByParam insieme a Location. L'attributo Duration deve essere impostato su un valore maggiore di zero. È possibile impostare l'attributo VaryByParam su "None" se non si desidera utilizzare la funzionalità dei parametri VaryByParam o VaryByControl. Per ulteriori informazioni, vedere Procedura: impostare valori di scadenza per l'inserimento di pagine ASP.NET nella cache e Memorizzazione nella cache di più versioni di una pagina.

Come alternativa all'impostazione di un valore di inserimento di una pagina nella cache mediante la direttiva @ OutputCache, è possibile creare un profilo della cache nel file Web.config dell'applicazione e quindi fare riferimento al profilo nella pagina. Per ulteriori informazioni, vedere Configurazione della cache in ASP.NET.

Vedere anche

Attività

Procedura: impostare il valore di memorizzazione nella cache di una pagina ASP.NET in modo dichiarativo

Procedura: impostare il valore di memorizzazione nella cache di una pagina a livello di codice

Concetti

Memorizzazione nella cache di pagine ASP.NET

Riferimenti

Duration