Compartir a través de


Cómo: Almacenar en memoria caché versiones de una página mediante el explorador que realizó la solicitud

Actualización: noviembre 2007

Si su aplicación Web contiene una página que genera resultados diferentes en función del tipo de explorador que realizó la solicitud, puede almacenar en caché versiones de los resultados de la página organizados por la versión principal del explorador que solicita la página. Por ejemplo, cuando un explorador de Internet Explorer 6 solicita una página, se almacena en memoria caché una versión de la misma. Cuando un explorador Netscape Navigator, otra versión de Internet Explorer o cualquier otro explorador solicite la página, se agregará a la caché de resultados una nueva versión de la misma.

Nota:

La información de la versión principal y del tipo de explorador se pasa a través de la propiedad MajorVersion del objeto HttpBrowserCapabilities en la solicitud actual. Para obtener más información, vea Cómo: Detectar tipos de explorador en páginas Web ASP.NET.

Para almacenar en caché varias versiones de una página de forma declarativa según el tipo de explorador

  1. En la página ASP.NET, incluya una directiva @ OutputCache con los atributos necesarios Duration y VaryByParam o VaryByControl. El atributo Duration debe ser un valor entero mayor que cero. Si sólo desea almacenar en memoria caché por tipo de explorador, establezca el atributo VaryByParam en "None".

  2. En la directiva @ OutputCache, incluya el atributo VaryByCustom y establézcalo como "browser".

    En el ejemplo siguiente se hará que la página se almacene en memoria caché durante 10 segundos. El resultado variará en función del tipo de explorador.

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

Para almacenar en caché varias versiones de una página mediante programación según el tipo de explorador.

  1. En el código de la página, llame a los métodos SetExpires y SetCacheability en la propiedad Cache de la propiedad Response de la página.

  2. Llame al método SetVaryByCustom, pasando el valor "browser" en el parámetro custom.

    El ejemplo de código siguiente muestra cómo almacenar en memoria caché varias versiones de una página durante un minuto. El resultado variará en función del tipo de explorador que realice la solicitud.

    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
    

Vea también

Tareas

Cómo: Establecer el almacenamiento en caché de una página ASP.NET mediante declaración

Cómo: Establecer el almacenamiento en caché de una página mediante programación

Cómo: Almacenar en caché versiones de una página utilizando parámetros

Cómo: Almacenar en memoria caché versiones de una página mediante encabezados HTTP

Cómo: Almacenar en caché versiones de una página utilizando cadenas personalizadas

Conceptos

Almacenar en caché páginas ASP.NET

Establecer el almacenamiento en caché de una página

Almacenar en memoria caché varias versiones de una página