¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo

Procedimiento: Configuración de un cliente de caché para el Servicio de caché administrado de Azure

Actualizado: febrero de 2015

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í?.

Servicio de caché administrado facilita la configuración de los clientes de caché al proporcionar un paquete NuGet para agregar la configuración y las referencias de ensamblado 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é.

La configuración de aplicaciones cliente de Servicio de caché administrado es sencilla. Servicio de caché administrado proporciona un paquete NuGet para agregar la configuración y las referencias de ensamblado necesarias a fin de permitir que los clientes de caché tengan acceso a una caché.

noteNota
Servicio de caché administrado admite aplicaciones cliente para Sitios web, Servicios en la nube y Máquinas virtuales de Azure. 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, vea Cache Service Client Application Types.

Si crea una aplicación de servicios en la nube, descargue el Azure SDK más reciente, actualmente el SDK 2.1. Si crea aplicaciones cliente de sitios web o máquinas virtuales de Azure, el paquete NuGet de Caché instala todo lo necesario para comenzar.

ImportantImportante
Estos pasos requieren la última versión del Administrador de paquetes NuGet (2.6.40627.9000 o superior). Para instalar la última versión del Administrador de paquetes NuGet, vea Administrador de paquetes NuGet (puede estar en inglés).

Para usar el paquete NuGet de Servicio de caché administrado, haga clic con el botón secundario del proyecto de cliente en el Explorador de soluciones y elija Administrar paquetes NuGet.

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.

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

Paquete NuGet de Almacenamiento en caché de Windows Azure

Cuando se instala el paquete NuGet de Servicio de caché administrado en un proyecto de cliente, este agrega la configuración y las referencias de ensamblado 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 [Cache role name or Service Endpoint] por la dirección URL del extremo que se muestra en el panel de caché del Portal de administración.

    Dirección URL de extremo para Servicio de almacenamiento en caché de Windows Azure
    En este ejemplo, la memoria caché se llama applicationcache y la dirección URL del extremo es applicationcache.cache.windows.net.

    <autoDiscover isEnabled="true" identifier="applicationcache.cache.windows.net" />
    
    Quite las marcas de comentario de la sección securityProperties y reemplace [Authentication Key] 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.

    Administrar claves de acceso para Servicio de almacenamiento en caché de Windows Azure
    WarningAdvertencia
    Estas opciones deben configurarse correctamente; de lo contrario, los clientes no podrán acceder a la memoria caché.

Para proyectos de servicio en la nube, el paquete NuGet de Servicio de caché administrado agrega también un parámetro ClientDiagnosticLevel a la sección ConfigurationSettings del rol de cliente de caché en ServiceConfiguration.cscfg. El ejemplo siguiente es la sección de WebRole1 de un archivo ServiceConfiguration.cscfg con un valor de ClientDiagnosticLevel de 1, que es el valor predeterminado de ClientDiagnosticLevel.

<Role name="WebRole1">
  <Instances count="1" />
  <ConfigurationSettings>
    <!-- Other settings omitted for space... -->
    <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
  </ConfigurationSettings>
</Role>
noteNota
Para obtener más información sobre niveles de diagnóstico de caché, vea Acerca de ClientDiagnosticLevel para el Servicio de caché administrado de Azure.

Además de agregar la configuración necesaria, el paquete NuGet de Servicio de caché administrado 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

El proveedor de estado de sesión de Caché de Microsoft Azure es un mecanismo de almacenamiento fuera de proceso para aplicaciones ASP.NET. 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 caché para usar con el proveedor de ASP.NET, según se describe en la sección Configurar un cliente de caché mediante el paquete NuGet de Caching anterior.

  2. Quite los elementos sessionState existentes que configuren el almacenamiento en caché del estado de sesión. No quite la sección comentada sessionState que agregó el paquete NuGet.

  3. En el archivo web.config, elimine los comentarios 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é; para ello, cambie la configuración en 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, vea Opciones de configuración del cliente de caché para el Servicio de caché administrado de Azure. Tenga en cuenta que los proveedores ASP.NET para almacenar en memoria caché no admiten los tipos de serialización binarios ni personalizados. Si se usan estos serializadores para el estado de sesión, se produce la excepción siguiente: "El 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, vea Configuración del proveedor de estado de sesión para ASP.NET para el Servicio de caché administrado de Azure.

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

  1. En primer lugar, configure una caché para usar con el proveedor de ASP.NET, según se describe en la sección Configurar un cliente de caché mediante el paquete NuGet de Caching anterior.

  2. Use NuGet para agregar compatibilidad con almacenar en memoria caché a su proyecto de ASP.NET en Visual Studio.

    ImportantImportante
    Estos pasos requieren la última versión del Administrador de paquetes NuGet (2.6.40627.9000 o superior). Para instalar la última versión del Administrador de paquetes NuGet, vea Administrador de paquetes NuGet (puede estar en inglés).

  3. Quite los elementos caching existentes que configuren el almacenamiento en caché de resultados. No quite la sección comentada caching que agregó el paquete NuGet.

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

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

Mostrar:
© 2015 Microsoft