Condividi tramite


Procedura: memorizzare nella cache versioni di una pagina tramite un browser richiedente

Aggiornamento: novembre 2007

Se l'applicazione Web contiene una pagina che crea un output differente a seconda del tipo di browser richiedente, è possibile memorizzare nella cache versioni dell'output della pagina in base al numero di versione principale del browser che richiede la pagina. Se ad esempio un browser Internet Explorer 6 richiede una pagina, verrà memorizzata nella cache una versione della pagina. Quando la pagina viene richiesta da un browser Netscape Navigator, da un'altra versione di Internet Explorer o da qualsiasi altro browser, alla cache di output viene aggiunta un'altra versione della pagina.

Nota:

Le informazioni sul numero di versione principale e sul tipo di browser vengono passate mediante la proprietà MajorVersion dell'oggetto HttpBrowserCapabilities nella richiesta corrente. Per ulteriori informazioni, vedere Procedura: rilevare tipi di browser in pagine Web ASP.NET.

Per memorizzare nella cache più versioni di una pagina in modo dichiarativo in base al tipo di browser

  1. Nella pagina ASP.NET includere una direttiva @ OutputCache con gli attributi Duration e VaryByParam o VaryByControl richiesti. L'attributo Duration deve essere impostato su un numero intero maggiore di zero. Per eseguire la memorizzazione nella cache solo in base al tipo di browser, impostare l'attributo VaryByParam su "None".

  2. Nella direttiva @ OutputCache includere l'attributo VaryByCustom e impostarlo su "browser".

    Nell'esempio riportato di seguito la pagina verrà memorizzata nella cache per 10 secondi. L'output varierà in base al tipo di browser.

    <%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="browser" %>
    

Per memorizzare nella cache più versioni di una pagina a livello di codice in base al tipo di browser

  1. Nel codice della pagina chiamare i metodi SetExpires e SetCacheability sulla proprietà Cache della proprietà Response della pagina.

  2. Chiamare il metodo SetVaryByCustom passando il valore "browser" nel parametro custom.

    Nell'esempio di codice riportato di seguito viene illustrato come memorizzare nella cache più versioni di una pagina per un minuto. L'output varierà in base al tipo di browser che ha effettuato la richiesta.

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Cache.SetExpires(DateTime.Now.AddMinutes(1d));
        Response.Cache.SetCacheability(HttpCacheability.Public);
        Response.Cache.SetValidUntilExpires(true);
        Response.Cache.SetVaryByCustom("browser");
    }
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.Cache.SetExpires(DateTime.Now.AddMinutes(1.0))
        Response.Cache.SetCacheability(HttpCacheability.Public)
        Response.Cache.SetValidUntilExpires(True)
        Response.Cache.SetVaryByCustom("browser")
    End Sub
    

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

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

Memorizzazione nella cache di più versioni di una pagina