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
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".
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
Nel codice della pagina chiamare i metodi SetExpires e SetCacheability sulla proprietà Cache della proprietà Response della pagina.
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 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