Elemento outputCache para el almacenamiento en caché (Esquema de configuración de ASP.NET)

Especifica la configuración de la caché de resultados para la aplicación.

<outputCache enableOutputCache="true|false" 
             enableFragmentCache="true|false" 
             sendCacheControlHeader="true|false" 
             omitVaryStar="true|false"
             defaultProvider="AspNetInternalProvider">
</outputCache>

Atributos y elementos

En las secciones siguientes se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

Atributo

Descripción

enableOutputCache

Atributo Boolean opcional.

Habilita o deshabilita la caché de resultados de la página.

Si se deshabilita, no se almacena ninguna página en caché, independientemente de la configuración de programación o declarativa.

El valor predeterminado es true.

enableFragmentCache

Atributo Boolean opcional.

Habilita o deshabilita la caché por fragmentos para la aplicación.

Si se deshabilita, no se almacenará en caché ninguna página, independientemente de la directiva @ OutputCache o del perfil de almacenamiento en caché que se utilice. Incluye un encabezado de control de caché que indica que ni los servidores proxy que preceden en la cadena ni los clientes de exploradores deben intentar almacenar en caché resultados de página.

El valor predeterminado es false.

sendCacheControlHeader

Atributo Boolean opcional.

Obtiene o establece un valor que indica si el módulo de la caché de resultados envía el encabezado cache-control:private de forma predeterminada.

El valor predeterminado es false.

omitVaryStar

Atributo Boolean opcional.

Habilita o deshabilita el envío de un encabezado HTTP "Vary: *" en la respuesta. Con la configuración predeterminada de false, se envía un encabezado "Vary: *" para las páginas con almacenamiento en caché de resultados.

El valor predeterminado es false.

defaultProvider

Atributo de cadena opcional.

Obtiene o establece el proveedor de caché de resultados predeterminado.

El valor predeterminado es "AspNetInternalProvider". Ésta es la caché en memoria proporcionada por ASP.NET.

Elementos secundarios

Elemento

Descripción

providers

Un elemento secundario opcional que se puede utilizar para configurar los proveedores de la caché de resultados personalizados.

Elementos primarios

Elemento

Descripción

configuration

Es el elemento raíz necesario en cada archivo de configuración que se utiliza en Common Language Runtime y las aplicaciones de .NET Framework.

system.web

Especifica el elemento raíz de las opciones de configuración de ASP.NET en un archivo de configuración. Contiene los elementos de configuración que configuran las aplicaciones Web ASP.NET y determinan su funcionamiento.

caching

Configura los valores de memoria caché para una aplicación Web.

Comentarios

Configuración predeterminada

El siguiente elemento outputCache predeterminado no está configurado explícitamente en el archivo de configuración del equipo ni en el archivo Web.config raíz, pero es la configuración predeterminada que devuelve la aplicación en .NET Framework versión 2.0.

<outputCache enableOutputCache = "true" 
             enableFragmentCache = "true" 
             sendCacheControlHeader = "true" 
             omitVaryStar = "false"
             defaultProvider="AspNetInternalProvider">
</outputCache>

En el ejemplo siguiente se muestra cómo deshabilitar la memoria caché de resultados para una aplicación ASP.NET:

<outputCache enableOutputCache="false" />

Almacenamiento en caché de resultados extensible

ASP.NET permite extender el almacenamiento en memoria caché de resultados y configurar uno o más proveedores de memoria caché de resultados personalizados. Los proveedores de memoria caché de resultados pueden usar cualquier mecanismo de almacenamiento para conservar el contenido HTML. Estas opciones de almacenamiento pueden incluir discos locales o remotos, almacenamiento de nube y motores de memoria caché distribuidos.

La extensibilidad de proveedores de memoria caché de resultados permite diseñar estrategias de almacenamiento en memoria caché de resultados más dinámicas e inteligentes para los sitios web. Por ejemplo, puede crear un proveedor de memoria caché de resultados que almacena en caché las 10 páginas principales de un sitio en memoria y almacena en caché las páginas con menos tráfico en disco. O bien, puede almacenar en caché cada combinación de variación para una página representada y usar memoria caché distribuida para que el consumo de memoria se descargue de los servidores web front-end.

El proveedor de memoria caché de resultados personalizado se crea como una clase que deriva del tipo OutputCacheProvider. A continuación, puede configurar el proveedor en el archivo Web.config mediante la nueva subsección providers del elemento outputCache .

De forma predeterminada, en ASP.NET, todas las respuestas HTTP, las páginas presentadas y los controles usan la memoria caché de resultados en memoria del ejemplo anterior (donde el atributo defaultProvider está establecido en AspNetInternalProvider). Puede cambiar el proveedor de memoria caché de resultados predeterminado que se usa para una aplicación web especificando un nombre de proveedor diferente para defaultProvider.

Además, puede seleccionar proveedores de memoria caché de resultados diferentes para controles individuales y para solicitudes individuales. La manera más fácil de especificar un proveedor de memoria caché de resultados diferente para los distintos controles de usuario web es hacerlo mediante declaración con el nuevo atributo providerName en una directiva de página o de control, tal y como se muestra en el ejemplo siguiente:

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

Puede especificar un proveedor de memoria caché de resultados diferente para una solicitud HTTP e invalidar el nuevo método GetOutputCacheProviderName en el archivo Global.asax para especificar mediante programación qué proveedor se usará para una solicitud concreta.

Vea también

Tareas

Tutorial: Usar el almacenamiento en la caché de resultados para mejorar el rendimiento de los sitios web

Cómo: Bloquear los valores de configuración de ASP.NET

Referencia

OutputCache

Conceptos

Información general sobre el almacenamiento en caché en ASP.NET

Proteger la configuración de ASP.NET

Escenarios de configuración de ASP.NET

Otros recursos

Administración de sitios web ASP.NET