Memorizzazione nella cache di più versioni di una pagina
Talvolta è possibile che per una pagina che si desidera memorizzare nella cache vengano create versioni diverse basate sulla richiesta. La pagina potrebbe produrre, ad esempio, un output diverso a seconda dei valori passati nella stringa di query.
ASP.NET consente di memorizzare più versioni della stessa pagina nella cache di output. È possibile variare la cache di output in base ai seguenti elementi:
La stringa della query in una richiesta iniziale (HTTP GET).
I valori del controllo passati al momento del postback (valori HTTP POST).
Le intestazioni HTTP passate con una richiesta.
Il numero di versione principale del browser che effettua la richiesta.
Una stringa personalizzata nella pagina. In questo caso viene creato un codice personalizzato nel file Global.asax per specificare le modalità di memorizzazione della pagina nella cache.
È possibile memorizzare nella cache più versioni dell'output di una pagina in modo dichiarativo, utilizzando attributi della direttiva @ OutputCache, e a livello di codice, attraverso le proprietà e i metodi della classe HttpCachePolicy.
La direttiva @ OutputCache include quattro attributi che consentono di memorizzare nella cache più versioni dell'output della pagina:
L'attributo VaryByParam consente di variare l'output memorizzato nella cache in base alla stringa della query.
L'attributo VaryByControl consente di variare l'output memorizzato nella cache in base al valore di un controllo.
L'attributo VaryByHeader consente di variare l'output memorizzato nella cache in base all'intestazione HTTP della richiesta.
L'attributo VaryByCustom consente di variare l'output memorizzato nella cache in base al tipo di browser o alla stringa personalizzata definita.
Nota
È necessario includere l'attributo VaryByParam o l'attributo VaryByControl in qualsiasi direttiva @ OutputCache. Se, tuttavia, non è necessario variare l'output memorizzato nella cache in base al controllo o ai parametri, è possibile definire VaryByParam con il rispettivo valore impostato su None.
Nella classe HttpCachePolicy sono disponibili due proprietà e un metodo che consentono di specificare a livello di codice la stessa configurazione della cache che è possibile impostare in modo dichiarativo. Le proprietà VaryByParams e VaryByHeaders consentono di specificare rispettivamente il parametro della stringa della query e i nomi delle intestazioni in base ai quali si desidera variare i criteri della cache. Il metodo SetVaryByCustom consente di definire le stringhe personalizzate in base alle quali variare la cache di output.
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
Procedura: memorizzare nella cache versioni di una pagina tramite un browser richiedente
Procedure: memorizzare versioni cache di una pagina utilizzando i parametri
Procedure: memorizzare nella cache versioni di una pagina utilizzando le intestazioni HTTP
Procedura: memorizzare nella cache versioni di una pagina tramite stringhe personalizzate
Concetti
Memorizzazione nella cache di pagine ASP.NET
Impostazione del valore di memorizzazione nella cache di una pagina