Compartir vía


Opciones de configuración del proveedor de caché de resultados de almacenamiento en caché de ASP.NET 4 (Almacenamiento en caché de AppFabric 1.1)

Este tema describe las opciones de configuración del proveedor de caché de resultados Microsoft AppFabric 1.1 para Windows Server de ASP.NET. Estos valores están especificados en la sección providers del elemento outputCache, en el archivo web.config.

Opciones de configuración del estado de sesión

Atributo Descripción

name (obligatorio)

El nombre común del proveedor utilizado por el elemento outputCache para hacer referencia al proveedor.

type (obligatorio)

La cadena de tipo .NET Framework del proveedor. Debe estar definida en “Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache”.

cacheName (obligatorio)

El nombre de la memoria caché AppFabric.

dataCacheClientName (opcional)

El nombre de la sección dataCacheClient que se va a utilizar desde la sección de configuración dataCacheClients. Este atributo solo es obligatorio si se especifican varias secciones dataCacheClient en el archivo web.config. De forma predeterminada, el proveedor utilizará la sección dataCacheClient denominada “default”.

applicationName (opcional)

Un valor de cadena utilizado por el proveedor al crear las claves de caché para almacenar los datos de caché de resultados. El valor predeterminado es una cadena vacía. Cuando no se define este atributo, el proveedor utiliza el valor de HttpRuntime.AppDomainAppId como parte de las claves de caché que utiliza internamente. A diferencia de la característica de estado de sesión, no quiere compartir los datos de caché de resultados entre las diferentes aplicaciones de ASP.NET (por ejemplo, /contoso y /AdventureWorks no pueden compartir los datos de caché de resultados). En su lugar, asegúrese de que las diferentes instancias físicas de la misma aplicación tienen acceso a los mismos datos de caché de resultados. Existen dos formas diferentes de realizar esta acción:

  • Si el atributo de proveedor applicationName no está definido de forma explícita, el proveedor utiliza HttpRuntime.AppDomainAppId internamente al crear las claves de caché. Esto significa que cada una de las instancias físicas de la misma aplicación (p. ej.: cada servidor web que hospeda la aplicación /contoso) deben estar instaladas en IIS con, exactamente, la misma ruta de acceso de metabase. Consulte https://support.microsoft.com/kb/325056para obtener una explicación acerca de cómo las rutas de acceso de metabase se utilizan con SQL Server y los proveedores de estado de sesión fuera de proceso. Aunque el estado de sesión es una característica diferente, el mismo problema tiene lugar al mantener sincronizadas las rutas de acceso de metabase. Esto aplica al almacenamiento en caché de resultados cuando el atributo applicationName no se ha definido en el archivo web.config.

  • Un enfoque más simple es que cada una de las instancias de la misma aplicación de ASP.NET (por ejemplo, en cada servidor web que hospeda la aplicación /contoso) utilicen el mismo atributo applicationName en el archivo web.config. Esto permite a las diferentes instancias físicas de la misma aplicación leer y escribir los mismos datos de caché de resultados. En este caso, el proveedor no utiliza AppDomainAppId al crear las claves de caché y, por lo tanto, no hay riesgo de rutas de acceso de metabase no coincidentes.

retryInterval (opcional)

Un valor Timespan que indica la duración del intervalo de espera entre reintentos si se produce un error de comunicación con la caché. El formato de cadena que se utiliza para este valor es "HH:MM:SS". De manera predeterminada, el proveedor estará en suspensión durante un segundo.

retryCount (opcional)

Un valor entero que indica al proveedor el número de reintentos en caso de que se produzca un error de comunicación con la caché. Tenga en cuenta que no todas las operaciones podrán volver a intentarse. El valor predeterminado es de tres reintentos. El proveedor se suspende por el tiempo retryInterval configurado entre cada reintento.

Ejemplo

El siguiente ejemplo muestre un elemento outputCache que utiliza Almacenamiento en caché de AppFabric.

<caching>
  <outputCache defaultProvider="DistributedCache">
    <providers>
      <add name="DistributedCache"
           type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache"
           cacheName="default"
           dataCacheClientName="default" />
    </providers>
  </outputCache>
</caching>

Vea también

Conceptos

Proveedor de caché de resultados (Almacenamiento en caché de AppFabric 1.1)

  2012-03-05