Share via


Guide pratique pour configurer un client de cache pour Azure Service de cache géré

Important

Microsoft recommande tous les nouveaux développements d’utiliser le Cache Redis Azure. Pour obtenir de la documentation et des conseils actuels sur le choix d’une offre Azure Cache, consultez Quelle offre Azure Cache est adaptée à moi ?

Service de cache géré facilite la configuration des clients de cache en fournissant un package NuGet pour ajouter les références d’assembly et la configuration nécessaires. Le package NuGet Cache comprend également des sections commentées dans le fichier web.config pour des projets web, pour activer les fournisseurs d'état de session de cache et de cache de sortie de pages. Cette rubrique présente pas à pas la configuration de clients de cache à l'aide du Package NuGet Cache.

Dans cette rubrique

  • Configuration d'un client de cache à l'aide du package NuGet de mise en cache

  • Utilisation du fournisseur d'état de session dans un projet ASP.NET

  • Utilisation du fournisseur de caches de sortie pour un projet ASP.NET

Configuration d'un client de cache à l'aide du package NuGet de mise en cache

La configuration Service de cache géré applications clientes est simple. Service de cache géré fournit un package NuGet pour ajouter les références de configuration et d’assembly nécessaires pour permettre aux clients de cache d’accéder à un cache.

Notes

Service de cache géré prend en charge les sites web Azure, les Services cloud et les applications clientes Machines Virtuelles. Les étapes de configuration de ces différents types d'applications clientes sont très similaires et ne présentent que des différences mineures. Le package NuGet Cache fourni gère automatiquement la plupart de ces différences qui sont décrites en différents point de cette rubrique. Pour obtenir un résumé des différences, consultez Types d’applications clientes du service de cache.

Si vous créez une application de services cloud, téléchargez n’hésitez pas à utiliser le Kit de développement logiciel (SDK) Azure version 2.1 ou ultérieure. Si vous créez des applications clientes Sites web Azure ou Azure Virtual Machines, le package NuGet Cache installe tout ce dont vous avez besoin pour commencer.

Important

Pour exécuter cette procédure, vous devez disposer du Gestionnaire de package NuGet (version 2.6.40627.9000 ou supérieure). Pour installer la dernière NuGet Gestionnaire de package, consultez NuGet Gestionnaire de package.

Pour utiliser le package Service de cache géré NuGet, cliquez avec le bouton droit sur le projet client dans Explorateur de solutions, puis choisissez Gérer les packages NuGet.

Sélectionnez Mise en cache Azure, cliquez sur Installer, puis sur J’accepte. Une fois le package installé pour le projet de client, cliquez sur Fermer pour fermer la fenêtre Gérer les packages NuGet.

Notes

Si la mise en cache Azure n’apparaît pas dans la liste, tapez WindowsAzure.Caching dans la zone de texte Rechercher en ligne .

Windows Azure Cache NuGet Package

Lorsque le package Service de cache géré NuGet est installé sur un projet client, il ajoute les références de configuration et d’assembly requises afin que l’application cliente puisse accéder au cache.

Si la valeur web.config ou app.config est définie pour le projet de client, plusieurs éléments sont ajoutés.

  1. Deux sections sont ajoutées à configSections (dataCacheClients et à 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. Une section dataCacheClients est ajoutée à la section 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>
    

    Remplacez [Nom du rôle de cache ou point de terminaison de service] par l’URL du point de terminaison qui s’affiche dans le tableau de bord du cache dans le portail de gestion.

    Endpoint URL for Windows Azure Cache Service
    Dans cet exemple, le cache est nommé applicationcache, et l'URL de point de terminaison est applicationcache.cache.windows.net.

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

    Supprimez les marques de commentaire de la section securityProperties et remplacez [Clé d’authentification] par la clé d’authentification.

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

    Vous pouvez accéder à la clé d'authentification dans le portail de gestion en cliquant sur Accéder aux clés dans le tableau de bord du cache.

    Manage Access Keys for Windows Azure Cache Service

    Avertissement

    Ces paramètres doivent être configurés correctement, sinon les clients ne pourront pas accéder au cache.

Pour les projets de services cloud, le package Service de cache géré NuGet ajoute également un paramètre ClientDiagnosticLevel au ConfigurationSettings rôle client de cache dans ServiceConfiguration.cscfg. L’exemple suivant est la WebRole1 section d’un ServiceConfiguration.cscfg fichier avec un ClientDiagnosticLevel de 1, qui est le clientDiagnosticLevel par défaut.

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

Notes

Pour plus d’informations sur les niveaux de diagnostic du cache, consultez À propos de ClientDiagnosticLevel pour Azure Service de cache géré.

Outre l’ajout de la configuration requise, le package Service de cache géré NuGet ajoute également les références d’assembly suivantes.

  • 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 le projet est un projet web, la référence d'assembly suivante est également ajoutée.

  • Microsoft.Web.DistributedCache.dll

Utilisation du fournisseur d'état de session dans un projet ASP.NET

Le fournisseur d’état de session du cache Microsoft Azure est un mécanisme de stockage hors processus pour les applications ASP.NET. Il permet de stocker l'état de votre session dans un cache plutôt que dans la mémoire ou une base de données SQL Server. Lorsque vous utilisez le package NuGet de mise en cache pour activer la mise en cache, il ajoute une section commentée pour activer le fournisseur d'état de session de cache.

  1. Tout d’abord, configurez un cache à utiliser avec le fournisseur ASP.NET, comme décrit dans la précédente section Configurer un client de cache à l’aide de la section Mise en cache NuGet Package.

  2. Supprimez tout élément sessionState existant qui configure la mise en cache de l’état de session. Ne supprimez pas la section sessionState commentée qui a été ajoutée par le package NuGet.

  3. Dans le fichier web.config, supprimez les marques de commentaire de la section 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>-->
    

La liste suivante inclut les modifications de configuration facultatives susceptibles d'affecter le fournisseur d'état de sortie.

  • Modifiez le cache nommé ciblé avec l’attribut cacheName de l’élément add .

  • Modifiez la source des paramètres du client de cache avec l’attribut dataCacheClientName de l’élément add . Définissez cet attribut sur le nom d’une section dataCacheClient existante dans le fichier web.config.

  • Modifiez le comportement du client de cache en modifiant les paramètres de la section dataCacheClient associée. Par exemple, activez la compression avec l’attribut isCompressionEnabled .

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

    Pour obtenir la liste des options de configuration disponibles, consultez cache Client Configuration Paramètres pour Azure Service de cache géré. Notez que les fournisseurs ASP.NET pour la mise en cache ne prennent pas en charge les types de sérialisation binaires ou personnalisés. Si ces sérialiseurs sont utilisés pour l’état de session, l’exception suivante se produit : « Type « Microsoft.Web.DistributedCache.SerializableSessionStateStoreData » dans l’assembly « Microsoft.Web.DistributedCache, Version=101.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 » n’est pas marqué comme sérialisable »

  • Modifiez les paramètres du fournisseur d'état de session. Pour obtenir la liste des options de configuration disponibles, consultez ASP.NET Paramètres de configuration du fournisseur d’état de session pour Azure Service de cache géré.

Utilisation du fournisseur de caches de sortie pour un projet ASP.NET

Le fournisseur de cache de sortie du cache Microsoft Azure est un mécanisme de stockage hors processus pour les données du cache de sortie. Ces données concernent spécialement les réponses HTTP complètes (mise en cache de la sortie de pages). Le fournisseur se connecte au nouveau point d'extension du fournisseur de caches de sortie introduit dans ASP.NET 4. Lorsque vous utilisez le package de mise en cache NuGet pour activer la mise en cache, il ajoute une section commentée pour activer le fournisseur de sortie de page de cache.

  1. Tout d’abord, configurez un cache à utiliser avec le fournisseur ASP.NET, comme décrit dans la précédente section Configurer un client de cache à l’aide de la section Mise en cache NuGet Package.

  2. Utilisez NuGet pour ajouter la prise en charge de la mise en cache à votre projet ASP.NET dans Visual Studio.

    Important

    Cette procédure requiert le dernier gestionnaire de package NuGet (version 2.6.40627.9000 ou supérieure). Pour installer la dernière NuGet Gestionnaire de package, consultez NuGet Gestionnaire de package.

  3. Supprimez tout élément de mise en cache existant qui configure la mise en cache de sortie. Ne supprimez pas la section de mise en cache commentée qui a été ajoutée par le package NuGet.

  4. Dans le fichier web.config, supprimez les marques de commentaire de la section de mise en cache .

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

La liste suivante inclut les modifications de configuration facultatives susceptibles d'affecter le fournisseur de caches de sortie.

  • Modifiez le cache nommé ciblé avec l’attribut cacheName de l’élément add .

  • Modifiez la source des paramètres du client de cache avec l’attribut dataCacheClientName de l’élément add . Définissez cet attribut sur le nom d’une section dataCacheClient existante dans le fichier web.config.

  • Modifiez le comportement du client de cache en modifiant les paramètres de la section dataCacheClient associée. Par exemple, activez la compression avec l’attribut isCompressionEnabled .

    <dataCacheClient name="default" isCompressionEnabled="true">
    

    Pour obtenir la liste des options de configuration disponibles, consultez cache Client Configuration Paramètres pour Azure Service de cache géré. Notez que les fournisseurs ASP.NET pour la mise en cache ne prennent pas en charge les types de sérialisation binaires ou personnalisés.

  • Modifiez les paramètres du fournisseur de caches de sortie. Pour obtenir la liste des options de configuration disponibles, consultez ASP.NET page Output Cache Provider Configuration Paramètres for Azure Service de cache géré.