Compartir a través de


Configuración de un cliente de caché para Azure Managed Cache Service

Importante

Microsoft recomienda todos los nuevos desarrollos que usen Azure Redis Cache. Para obtener documentación actual e instrucciones sobre cómo elegir una oferta de Azure Cache, consulte ¿Qué oferta de Azure Cache es adecuada para mí?

Managed Cache Service facilita la configuración y la configuración de los clientes de caché proporcionando un paquete de NuGet para agregar las referencias y la configuración de ensamblados necesarias. El paquete NuGet de Caché proporciona también secciones comentadas en el archivo web.config para proyectos web con el objetivo de habilitar los proveedores de estado de sesión de caché y de caché de resultados de página. En este tema se ofrece un tutorial para configurar clientes de caché mediante el paquete NuGet de Caché.

En este tema

  • Configurar un cliente de caché mediante el paquete NuGet de Caching

  • Usar el proveedor de estado de sesión en un proyecto ASP.NET

  • Usar el proveedor de caché de resultados para un proyecto ASP.NET

Configurar un cliente de caché mediante el paquete NuGet de Caching

La configuración de Managed Cache Service aplicaciones cliente es fácil. Managed Cache Service proporciona un paquete NuGet para agregar las referencias de configuración y ensamblado necesarias para permitir que los clientes de caché accedan a una memoria caché.

Nota

Managed Cache Service admite sitios web de Azure, Cloud Services y aplicaciones cliente de Virtual Machines. Los pasos de configuración para todos estos tipos de aplicaciones cliente diferentes son muy similares y presentan apenas diferencias leves. El paquete NuGet de Caché que se entrega controla la mayoría de estas diferencias de forma automática y estas diferencias se describen en distintos puntos de este tema. Para obtener un resumen de las diferencias, consulte Tipos de aplicación cliente de Cache Service.

Si va a crear una aplicación de servicios en la nube, descargue nsure que está usando la versión 2.1 o posterior del SDK de Azure . Si crea aplicaciones cliente de sitios web o Azure Virtual Machines, el paquete NuGet de Caché instala todo lo necesario para comenzar.

Importante

Estos pasos requieren NuGet Package Manager versión 2.6.40627.9000 o superior. Para instalar el NuGet Administrador de paquetes más reciente, consulte NuGet Administrador de paquetes.

Para usar el paquete de Managed Cache Service NuGet, haga clic con el botón derecho en el proyecto de cliente en Explorador de soluciones y elija Administrar NuGet paquetes.

Seleccione Caching de Azure, haga clic en Instalar y, a continuación, en Acepto. Una vez instalado el paquete en el proyecto de cliente, haga clic en Cerrar para cerrar la ventana Administrar paquetes NuGet.

Nota

Si Caching de Azure no aparece en la lista, escriba WindowsAzure.Caching en el cuadro de texto Buscar en línea.

Windows Azure Cache NuGet Package

Cuando el paquete Managed Cache Service NuGet se instala en un proyecto de cliente, agrega las referencias de ensamblado y configuración necesarias para que la aplicación cliente pueda acceder a la memoria caché.

En el archivo web.config o app.config del proyecto de cliente, se agregan varios elementos.

  1. Se han agregado dos secciones a configSections, dataCacheClients con nombre y cacheDiagnostics.

    <!-- Non-cache sections omitted for space -->
      <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>
    
  2. Se ha agregado una sección dataCacheClients a la sección configuration.

    <!-- Non-cache sections omitted for space -->
      <dataCacheClients>
        <dataCacheClient name="default">
          <!--To use the in-role flavor of Azure Caching, set identifier to be the cache cluster role name -->
          <!--To use the Azure Caching Service, set identifier to be the endpoint of the cache cluster -->
          <autoDiscover
            isEnabled="true" 
            identifier="[Cache role name or Service Endpoint]" />
          <!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
          <!--Use this section to specify security settings for connecting to your cache. 
              This section is not required if your cache is hosted on a role that is a part 
              of your cloud service. -->
          <!--<securityProperties mode="Message" sslEnabled="false">
            <messageSecurity authorizationInfo="[Authentication Key]" />
          </securityProperties>-->
        </dataCacheClient>
      </dataCacheClients>
    

    Reemplace [Nombre del rol de caché o Punto de conexión de servicio] por la dirección URL del punto de conexión que se muestra en el panel de caché en el Portal de administración.

    Endpoint URL for Windows Azure Cache Service
    En este ejemplo, la memoria caché se denomina applicationcache y la dirección URL del punto de conexión se applicationcache.cache.windows.net.

    <autoDiscover isEnabled="true" identifier="applicationcache.cache.windows.net" />
    

    Quite la marca de comentario de la sección securityProperties y reemplace [Clave de autenticación] por la clave de autenticación.

    <!--Use this section to specify security settings for connecting to your cache. 
        This section is not required if your cache is hosted on a role that is a part 
        of your cloud service. -->
    <!--<securityProperties mode="Message" sslEnabled="false">
      <messageSecurity authorizationInfo="[Authentication Key]" />
    </securityProperties>-->
    

    Para buscar la clave de autenticación, haga clic en Claves de acceso en el panel de caché del Portal de administración.

    Manage Access Keys for Windows Azure Cache Service

    Advertencia

    Estos valores deben estar correctamente configurados para que los clientes puedan obtener acceso a la caché.

En el caso de los proyectos de servicios en la nube, el paquete de Managed Cache Service NuGet también agrega un valor ClientDiagnosticLevel al ConfigurationSettings del rol de cliente de caché en ServiceConfiguration.cscfg. El ejemplo siguiente es la WebRole1 sección de un ServiceConfiguration.cscfg archivo con clientDiagnosticLevel de 1, que es el valor predeterminado ClientDiagnosticLevel.

<Role name="WebRole1">
  <Instances count="1" />
  <ConfigurationSettings>
    <!-- Other settings omitted for space... -->
    <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
  </ConfigurationSettings>
</Role>

Nota

Para más información sobre los niveles de diagnóstico de caché, consulte Acerca de ClientDiagnosticLevel para Azure Managed Cache Service.

Además de agregar la configuración necesaria, el paquete de Managed Cache Service NuGet también agrega las siguientes referencias de ensamblado.

  • Microsoft.ApplicationServer.Caching.Client.dll

  • Microsoft.ApplicationServer.Caching.Core.dll

  • Microsoft.ApplicationServer.Caching.AzureCommon.dll

  • Microsoft.ApplicationServer.Caching.AzureClientHelper.dll

  • Microsoft.WindowsFabric.Common.dll

  • Microsoft.WindowsFabric.Data.Common.dll

Si se trata de un proyecto web, se agrega también la siguiente referencia de ensamblado.

  • Microsoft.Web.DistributedCache.dll

Usar el proveedor de estado de sesión en un proyecto ASP.NET

El proveedor de estado de sesión de caché Microsoft Azure es un mecanismo de almacenamiento fuera de proceso para ASP.NET aplicaciones. Este proveedor permite almacenar el estado de su sesión en una caché en lugar de en la memoria o en una base de datos SQL Server. Cuando se usa el paquete NuGet de Caché para habilitar el almacenamiento en caché, este agrega una sección comentada para habilitar el proveedor de estado de sesión de Caché.

  1. En primer lugar, configure una memoria caché para usarla con el proveedor de ASP.NET, como se describe en la sección Anterior Configurar un cliente de caché mediante el almacenamiento en caché NuGet paquete.

  2. Quite cualquier elemento sessionState existente que configure el almacenamiento en caché de estado de sesión. No quite la sección sessionState comentada que agregó el paquete NuGet.

  3. En el archivo web.config, quite la marca de comentario de la sección sessionState .

    <!-- 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 encontrará cambios de configuración opcionales que afectan al proveedor de estado de sesión.

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

  • Cambie el origen de la configuración del cliente de caché con el atributo dataCacheClientName del elemento add . Establezca este atributo en el nombre de una sección dataCacheClient existente en el archivo web.config.

  • Modifique el comportamiento del cliente de caché cambiando la configuración de la sección dataCacheClient asociada. Por ejemplo, habilite la compresión con el atributo isCompressionEnabled .

    <dataCacheClient name="default" isCompressionEnabled="true">
      <!-- Other cache settings omitted -->
    </dataCacheClient>
    

    Para obtener una lista de las opciones de configuración disponibles, consulte Configuración de cliente de caché Configuración para Azure Managed Cache Service. Tenga en cuenta que los proveedores de ASP.NET para el almacenamiento en caché no admiten tipos de serialización binarios o personalizados. Si estos serializadores se usan para el estado de sesión, se produce la siguiente excepción: "Tipo 'Microsoft.Web.DistributedCache.SerializableSessionStateStoreData' en el 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 las opciones de configuración disponibles, consulte ASP.NET Configuración de configuración del proveedor de estado de sesión para Azure Managed Cache Service.

Usar el proveedor de caché de resultados para un proyecto ASP.NET

El proveedor de caché de salida de Microsoft Azure es un mecanismo de almacenamiento fuera de proceso para los datos de caché de salida. Estos datos resultan necesarios específicamente para respuestas HTTP completas (caché de resultados de la página). El proveedor se conecta al nuevo punto de extensibilidad del proveedor de caché de salida que se introdujo en ASP.NET 4. Cuando se usa el paquete de almacenamiento en caché NuGet para habilitar el almacenamiento en caché, se agrega una sección comentada para habilitar el proveedor de salida de página de caché.

  1. En primer lugar, configure una memoria caché para usarla con el proveedor de ASP.NET, como se describe en la sección Anterior Configurar un cliente de caché mediante el almacenamiento en caché NuGet paquete.

  2. Use NuGet para agregar compatibilidad con el almacenamiento en caché al proyecto de ASP.NET en Visual Studio.

    Importante

    Estos pasos requieren la última versión del Administrador de paquetes NuGet (2.6.40627.9000 o superior). Para instalar el NuGet Administrador de paquetes más reciente, consulte NuGet Administrador de paquetes.

  3. Quite cualquier elemento de almacenamiento en caché existente que configure el almacenamiento en caché de salida. No quite la sección de almacenamiento en caché comentada que agregó el paquete de NuGet.

  4. En el archivo web.config, quite la marca de comentario de la sección de almacenamiento en caché .

        <!-- Azure Caching output caching provider -->
        <!--Uncomment this section to use Azure Caching for output caching-->
        <!--<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>-->
    

En la lista siguiente encontrará cambios de configuración opcionales que afectan al proveedor de caché de resultados.

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

  • Cambie el origen de la configuración del cliente de caché con el atributo dataCacheClientName del elemento add . Establezca este atributo en el nombre de una sección dataCacheClient existente en el archivo web.config.

  • Modifique el comportamiento del cliente de caché cambiando 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 las opciones de configuración disponibles, consulte Configuración de cliente de caché Configuración para Azure Managed Cache Service. Tenga en cuenta que los proveedores de ASP.NET para el almacenamiento en caché no admiten tipos de serialización binarios o personalizados.

  • Cambie la configuración del proveedor de caché de resultados. Para obtener una lista de las opciones de configuración disponibles, consulte ASP.NET Configuración configuración del proveedor de caché de salida de páginas para Azure Managed Cache Service.