Exportar (0) Imprimir
Expandir todo

Opciones de configuración del proveedor de caché de resultados para ASP.NET (Caché de Azure)

Actualizado: julio de 2010

noteNota
Si quiere que le guiemos a la hora de elegir la oferta de Caché de Azure que mejor se adapta a su aplicación, consulte ¿Cuál es la oferta de Caché de Azure más adecuada para mí?.

En este tema se analizan las opciones de configuración del proveedor de caché de resultados de para ASP.NET. Estas opciones se especifican en la sección providers del elemento outputCache del archivo web.config.

 

Atributo Descripción

name (obligatorio)

Nombre descriptivo del proveedor, usado por el elemento outputCache para hacer referencia al proveedor.

type (obligatorio)

Cadena de tipo .NET Framework para el proveedor. Vea la nota siguiente sobre el valor requerido.

cacheName (obligatorio)

Nombre de la caché de . Se debe establecer en “default”.

dataCacheClientName (opcional)

Nombre de la sección dataCacheClient que se usará de 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 usará la sección dataCacheClient llamada “default”.

applicationName (opcional)

Valor de cadena que usa el proveedor al crear claves de caché para almacenar los datos de la caché de resultados. El valor predeterminado es una cadena vacía. Cuando no se establece este atributo, el proveedor usa el valor de HttpRuntime.AppDomainAppId como parte de las claves de caché que usa internamente. A diferencia de la característica de estado de sesión, no querrá compartir los datos de la caché de resultados entre las distintas aplicaciones ASP.NET (por ejemplo, /contoso y /adventureworks no pueden compartir los datos de la caché de resultados). En su lugar, asegúrese de que las instancias físicas diferentes de la misma aplicación tengan acceso todas a los mismos datos de la caché de resultados. Hay dos formas diferentes de lograrlo:

  • Si el atributo de proveedor applicationName no se establece expresamente, el proveedor usa HttpRuntime.AppDomainAppId internamente al crear las claves de caché. Esto hará que cada instancia física de la misma aplicación (es decir, cada servidor web que hospede la aplicación /contoso) deba instalarse en IIS exactamente con la misma ruta de metabase. Vea http://support.microsoft.com/kb/325056para obtener una explicación de cómo se usan las rutas de metabase con SQL Server y los proveedores de estado de sesión fuera de proceso. Si bien el estado de sesión es una característica diferente, se genera el mismo problema cuando se quieren mantener sincronizadas las rutas de metabase. Esto sucede con el almacenamiento en la caché de resultados cuando no se ha establecido el atributo applicationName en el archivo web.config.

  • Un enfoque más sencillo es que cada instancia de la misma aplicación ASP.NET (por ejemplo, en cada servidor web que hospeda la aplicación /contoso) use el mismo atributo applicationName en el archivo web.config. Esto permite que distintas instancias físicas de la misma aplicación lean y escriban los mismos datos de la caché de resultados. En este caso, el proveedor no usa AppDomainAppId al generar las claves de caché y, por lo tanto, no existe el riesgo de una falta de coincidencia en las rutas de metabase.

retryInterval (opcional)

Intervalo de tiempo durante el cual se debe esperar entre reintentos si se produce un error al comunicarse con la caché. El formato de cadena que se usa con este valor es "HH:MM:SS". De forma predeterminada, el proveedor se suspenderá durante un segundo.

retryCount (opcional)

Valor entero que le indica al proveedor el número de reintentos en caso de error en la comunicación con la caché. Tenga en cuenta que no es posible recuperar todas las operaciones. El valor predeterminado son tres reintentos. El proveedor se suspende durante el tiempo retryInterval configurado entre cada reintento.

noteNota
El atributo type debe establecerse en “Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache”.

<configuration>
  <configSections>
    <section name="dataCacheClients" 
          type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core"
          allowLocation="true" allowDefinition="Everywhere" />
    <section name="cacheDiagnostics"
          type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon"
          allowLocation="true" allowDefinition="Everywhere" />
  </configSections>
  <system.web>
    <!-- Azure Caching output caching provider -->
    <caching>
      <outputCache defaultProvider="AFCacheOutputCacheProvider">
        <providers>
          <add name="AFCacheOutputCacheProvider" 
            type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache" 
            cacheName="default" 
            dataCacheClientName="default" 
            applicationName="AFCacheOutputCache" />
        </providers>
      </outputCache>
    </caching>
  </system.web>
  <dataCacheClients>
    <dataCacheClient name="default">
      <autoDiscover isEnabled="true" identifier="CacheWorkerRole1" />
    </dataCacheClient>
  </dataCacheClients>
  <cacheDiagnostics>
    <crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
  </cacheDiagnostics>
</configuration>

Vea también

Mostrar:
© 2014 Microsoft