Cette documentation est archivée et n’est pas conservée.

Procédure : Configuration d'un client de cache pour service de caché géré Azure

Mis à jour: août 2015

ImportantImportant
Microsoft recommande que tous les nouveaux développements utilisent le Cache Redis Azure. Pour une documentation et des conseils actualisés sur le choix d'une offre de Cache Azure, voir Quelle est l'offre Azure Cache qui me convient ?

service caché managé facilite la configuration des clients de cache en fournissant un package NuGet pour ajouter la configuration et les références d'assembly 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.

La configuration d'applications clientes service caché managé est facile. service caché managé fournit un package NuGet pour ajouter la configuration et les références d'assembly nécessaires pour autoriser les clients de cache à accéder au cache.

noteRemarque
Le service caché managé prend en charge les applications clientes Sites web, Cloud Services et Virtual Machines Azure. 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 un récapitulatif des différences, voir Cache Service Client Application Types.

Si vous créez une application de services cloud, assurez-vous que vous utilisez 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.

ImportantImportant
Pour exécuter cette procédure, vous devez disposer du Gestionnaire de package NuGet (version 2.6.40627.9000 ou supérieure). Pour installer le dernier gestionnaire de package NuGet, voir NuGet Package Manager.

Pour utiliser le package NuGet de service caché managé, cliquez avec le bouton droit sur le projet de client dans l'Explorateur de solutions, puis sélectionnez 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.

noteRemarque
Si Mise en cache Azure n'apparaît pas dans la liste, tapez WindowsAzure.Caching dans la zone de texte Recherche en ligne.

Package NuGet de cache Microsoft Azure

Lorsque le package NuGet de service caché managé est installé sur un projet de client, il ajoute la configuration et les références d'assembly nécessaires 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 [Cache role name or Service Endpoint] avec l'URL de point de terminaison qui s'affiche sur le tableau de bord du cache dans le portail de gestion.

    URL de point de terminaison du service de mise en cache Microsoft Azure
    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" />
    
    Annulez le commentaire de la section securityProperties, et remplacez [Authentication Key] 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.

    Gestion des clés d'accès pour le service de mise en cache Microsoft Azure
    WarningAvertissement
    Ces paramètres doivent être correctement configurés, sans quoi les clients ne peuvent pas accéder au cache.

Pour les projets de services cloud, le package NuGet de service caché managé ajoute également un paramètre ClientDiagnosticLevel aux ConfigurationSettings du rôle de client de cache dans ServiceConfiguration.cscfg. L'exemple suivant montre la section WebRole1 d'un fichier ServiceConfiguration.cscfg avec un ClientDiagnosticLevel 1, ce qui correspond au 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>
noteRemarque
Pour plus d'informations sur les niveaux de diagnostic de cache, voir À propos de ClientDiagnosticLevel pour service de cache géré Azure.

Outre l'ajout de la configuration requise, le package NuGet service caché managé ajoute 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

Le fournisseur d'état de session de 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. Commencez par configurer un cache à utiliser avec le fournisseur ASP.NET, comme décrit dans la section Configuration d'un client de cache à l'aide du package NuGet de mise en cache précédente.

  2. Supprimez les éléments sessionState existants qui configurent la mise en cache de l'état de session. Ne supprimez pas la section sessionState commentée ajoutée par le package NuGet.

  3. Dans le fichier web.config, supprimez les commentaires 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 de 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.

  • Changez 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, voir Paramètres de configuration de client de cache pour service de cache géré Azure. Notez que les fournisseurs ASP.NET pour 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 survient: "Type 'Microsoft.web.DistributedCache.SerializableSessionStateStoreData' in Assembly 'Microsoft.web.DistributedCache, Version=101.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' is not marked as serializable »

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

Le fournisseur de caches de sortie de cache Microsoft Azure est un mécanisme de stockage hors processus pour les données du cache de sortie. Ces données sont propres aux réponses HTTP complètes (mise en cache de sortie des pages). Le fournisseur se connecte au point d'extensibilité du nouveau fournisseur de cache de sortie introduit dans ASP.NET 4. 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. Commencez par configurer un cache à utiliser avec le fournisseur ASP.NET, comme décrit dans la section Configuration d'un client de cache à l'aide du package NuGet de mise en cache précédente.

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

    ImportantImportant
    Cette procédure requiert le dernier gestionnaire de package NuGet (version 2.6.40627.9000 ou supérieure). Pour installer le dernier gestionnaire de package NuGet, voir NuGet Package Manager.

  3. Supprimez les éléments caching existants qui configurent la mise en cache de sortie. Ne supprimez pas la section caching commentée ajoutée par le package NuGet.

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

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

  • Changez 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, voir Paramètres de configuration de client de cache pour service de cache géré Azure. Notez que les fournisseurs ASP.NET pour 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, voir Paramètres de configuration du fournisseur de cache de sortie de page ASP.NET pour service de cache géré Azure.

Afficher: