Compartir a través de


Configurar la caducidad del almacenamiento de páginas en caché

Para agregar una página a la caché de resultados, debe establecer una directiva de caducidad para la página. Puede hacerlo de forma declarativa, con la directiva @ OutputCache, o mediante programación, con el método HttpCachePolicy.SetExpires. La directiva @ OutputCache establece Public de forma predeterminada en el encabezado Cache-Control.

Si establece la caducidad de una página mediante programación, también deberá establecer el encabezado Cache-Control de la página. Puede emplear el método HttpCachePolicy.SetCacheability para establecer Public en la enumeración HttpCacheability.

Para establecer la caducidad de una página en la caché de resultados de forma declarativa

  • Incluya una directiva @ OutputCache en la página (archivo .aspx) cuya respuesta desee almacenar en la caché de resultados. La directiva debe incluir un atributo Duration con un valor numérico positivo y un atributo VaryByParam. La directiva @ OutputCache siguiente establece un plazo de 60 segundos para la caducidad de la página.

    <%@ OutputCache Duration="60" VaryByParam="None" %>
    

    Nota   Debe especificar el atributo VaryByParam siempre que utilice la directiva @ OutputCache; de lo contrario, el analizador generará un error. Si no desea emplear la funcionalidad que ofrece el atributo VaryByParam, debe establecer su valor como None. Para obtener más información sobre el uso del atributo VaryByParam, vea Almacenar en caché múltiples versiones de una página.

Para establecer la caducidad de una página en la caché de resultados mediante programación

  • En el bloque de declaración de código de la página o en la clase de código subyacente, incluya el código que establece la caducidad de la página mediante la sintaxis Response.Cache. En el ejemplo siguiente se establece la misma caducidad para la página que en el ejemplo anterior con la directiva @ OutputCache.

    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
    Response.Cache.SetCacheability(HttpCacheability.Public);
    Response.Cache.SetValidUntilExpires(true);
    [Visual Basic]
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
    Response.Cache.SetValidUntilExpires(True)
    

Una vez agotada la duración de la página en caché, la siguiente solicitud de la página provocará una respuesta generada dinámicamente. Esta página de respuesta se almacena de nuevo en caché durante el tiempo especificado.

Vea también

Almacenar en caché páginas de ASP.NET | HttpCacheability (Enumeración) | Almacenar en caché el resultado de una página con dependencias de clave de caché | HttpCachePolicy (Clase) | HttpResponse (Clase) | @ OutputCache (Directiva)