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
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".
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.
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.
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