Exportar (0) Imprimir
Expandir todo
Este tema aún no ha recibido ninguna valoración - Valorar este tema

Proveedor del estado de sesión para Windows Azure Cache

Actualizado: noviembre de 2012

El proveedor del estado de sesión de Windows Azure es un mecanismo de almacenamiento fuera de proceso para aplicaciones ASP.NET. Este proveedor le permite almacenar el estado de sesión en una caché de Windows Azure en lugar de hacerlo en memoria o en un base de datos de SQL Server.

Para obtener un ejemplo de caching del estado de la sesión, consulte Ejemplo de caching del estado de la sesión y caching de salida.

Capacidades

El proveedor de estado de sesión Windows Azure incluye las siguientes mejoras frente a proveedores de estado de sesión de ASP.NET anteriores:

  • Utiliza la clase NetDataContractSerializer internamente para la serialización de estado de sesión.

  • Puede compartir los estados de sesión entre diferentes aplicaciones ASP.NET.

  • Es compatible con el acceso simultáneo al mismo estado de sesión para varios lectores y un único escritor.

  • Puede usar la compresión a través de las propiedades de cache client.

La utilización de la clase NetDataContractSerializer para la serialización da como resultado la compatibilidad con una gama más amplia de tipos serializables. Es compatible con tipos binarios serializables.

El proveedor es compatible con la capacidad de las diferentes aplicaciones ASP.NET para leer y escribir los mismos datos de estado de sesión. Por ejemplo, supongamos que un desarrollador tiene dos sitios ASP.NET diferentes: /contoso y /adventureworks. El proveedor de estado de sesión se puede configurar en cada aplicación web para indicar el mismo almacén de estado de sesión en el clúster de caché. Como resultado, ambas aplicaciones leerán y escribirán los mismo datos de estado de sesión para un identificador de sesión determinado.

El proveedor de estado de sesión es compatible con el acceso simultáneo al mismo conjunto de estado de sesión para varios lectores y un único escritor. En este caso, los lectores están definidos como páginas marcadas que utilizan el estado de sesión ReadOnly. Las aplicaciones que hacen un gran uso de las devoluciones de llamada de AJAX no experimentarán la cola de solicitudes del servidor si los patrones de acceso de estado de sesión de la aplicación únicamente requieren acceso de solo lectura al estado de sesión.

Procedimiento para agregar el proveedor de estado de sesión a un proyecto de ASP.NET

  1. En primer lugar, configure una caché para usarla con el proveedor de ASP.NET. Puede hospedar Caché con una topología colocalizada o con un rol dedicado.

  2. Use NuGet para agregar compatibilidad con Caché al proyecto de ASP.NET en Visual Studio. Para obtener instrucciones, vea Procedimiento: Prepare Visual Studio to Use In-Role Cache (Windows Azure Cache).

    ImportantImportante
    Para seguir estos pasos, se necesita el Administrador de paquetes de NuGet más reciente (versión 2.1.31002.9028 o posterior). Para instalar el Administrador de paquetes de NuGet más reciente, visite http://go.microsoft.com/fwlink/?LinkId=240311.

  3. Suprima cualquier elemento de sessionState existente que configure el caching de estado de sesión. No suprima la sección sessionState comentada que agregó el paquete NuGet.

  4. En el archivo web.config, elimine los comentarios de la sección sessionState.

        <!-- Windows 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>
    

En la lista siguiente se incluyen cambios de configuración opcionales que afectan al proveedor de caché de salida.

  • Cambie la caché con nombre de destino con el atributo cacheName del elemento add.

  • Cambie el origen de la configuración de cache client con el atributo dataCacheClientName del elemento add. Defina este atributo con el nombre de una sección de dataCacheClient existente del archivo web.config.

  • Modifique el comportamiento del cache client. Para ello, cambie la configuración de la sección dataCacheClient asociada. Por ejemplo, habilite la compresión con el atributo isCompressionEnabled.

    <dataCacheClient name="default" isCompressionEnabled="true">
    
    Para obtener una lista de opciones de configuración disponibles, consulte Configuración de In-Role Cache Client (Web.config). Tenga en cuenta que los proveedores de ASP.NET para Caché no admiten tipos de serialización binarios ni personalizados. Si se usan estos serializadores para el estado de la sesión, se produce la siguiente excepción: "El tipo 'Microsoft.Web.DistributedCache.SerializableSessionStateStoreData' del ensamblado 'Microsoft.Web.DistributedCache, Version=101.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' no está marcado como serializable"

  • Cambie la configuración del proveedor de estado de sesión. Para obtener una lista de opciones de configuración disponibles, consulte Configuración de proveedores de estado de sesión ASP.NET (Windows Azure Cache).

Para usar el proveedor con Shared Caching, vea Procedimiento: Configuración de proveedores de estado de sesión ASP.NET (Windows Azure Shared Caching).

En esta sección

Vea también

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.