Exportar (0) Imprimir
Expandir todo

Configuración del proveedor de estado de sesión para ASP.NET (Azure Cache)

Actualizado: julio de 2010

En este tema se tratan los valores de configuración del proveedor de estado de la sesión de para ASP.NET. Estos valores se especifican en la sección providers del elemento sessionState del archivo web.config.

 

Atributo Descripción

name (obligatorio)

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

type (obligatorio)

La cadena de tipo .NET Framework del proveedor. Consulte la nota siguiente sobre el valor requerido.

cacheName (obligatorio)

El nombre de la memoria caché . Debe estar definida en “default”.

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. Vea http://support.microsoft.com/kb/325056 para 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 caching 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 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.

useBlobMode (opcional)

Un valor booleano que especifica si cargar o almacenar los datos de estado de sesión como un blob serializado único. Este atributo debe definirse en true en esta versión, que es el valor predeterminado. No se ofrece soporte para el uso del valor false.

nonInlinedAdditionalLifetime (no compatible)

Este atributo no es compatible en esta versión.

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.

inlinedKeys (no compatible)

Este atributo no es compatible en esta versión.

maxInlinedStringLength (no compatible)

Este atributo no es compatible en esta versión.

noteNota
El atributo type debe estar definido 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 session state provider -->
    <sessionState mode="Custom" customProvider="AFCacheSessionStateProvider">
      <providers>
        <add name="AFCacheSessionStateProvider" 
          type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache" 
          cacheName="default" 
          dataCacheClientName="default" 
          applicationName="AFCacheSessionState"/>
      </providers>
    </sessionState>
  </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