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