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

Paramètres de configuration du fournisseur de caches de sortie ASP.NET dans Azure In-Role Cache

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 ?

Cette rubrique présente les paramètres de configuration du fournisseur de caches de sortie Azure pour ASP.NET, spécifiés dans la section providers de l'élément outputCache dans le fichier web.config.

 

Attribut Description

name (obligatoire)

Nom « convivial » du fournisseur utilisé par l'élément outputCache pour référencer le fournisseur.

type (obligatoire)

Chaîne de type .NET Framework du fournisseur. Consultez la note ci-dessous sur la valeur requise.

cacheName (obligatoire)

Nom du cache Azure. Cet attribut doit être défini sur “default”.

dataCacheClientName (facultatif)

Nom de la section dataCacheClient à utiliser à partir de la section de configuration dataCacheClients. Cet attribut n'est requis que si plusieurs sections dataCacheClient sont spécifiées dans le fichier web.config. Par défaut, le fournisseur utilise la section dataCacheClient nommée “default”.

applicationName (facultatif)

Valeur de chaîne utilisée par le fournisseur lors de la création des clés de cache pour le stockage des données du cache de sortie. La valeur par défaut est une chaîne vide. Si cet attribut n'est pas défini, le fournisseur utilise la valeur de la propriété HttpRuntime.AppDomainAppId comme clés de cache utilisées en interne. Contrairement à la fonction d'état de session, le partage des données du cache de sortie entre plusieurs applications ASP.NET n'est pas souhaitable (par exemple, /contoso et /AdventureWorks ne peuvent pas partager les données du cache de sortie). Vous devez toutefois veiller à ce que les instances physiques d'une application aient toutes accès aux données du même cache de sortie. Il existe plusieurs façons de procéder :

  • Si l'attribut de fournisseur applicationName n'est pas défini de façon explicite, la propriété HttpRuntime.AppDomainAppId est utilisée en interne par le fournisseur lors de la construction des clés de cache. Chaque instance physique d'une application (c'est-à-dire, chaque serveur web hébergeant l'application /contoso) doit être installée dans IIS avec le même chemin d'accès à la métabase. Pour plus d'informations sur l'utilisation des chemins d'accès à la métabase avec SQL Server et les fournisseurs d'état de session hors processus, voir l'article http://support.microsoft.com/kb/325056. Si l'état de session est une fonctionnalité différente, la synchronisation des chemins d'accès à la métabase pose le même problème. Cela concerne la mise en cache de sortie lorsque l'attribut applicationName n'est pas défini dans le fichier web.config.

  • Pour procéder de façon simple, il est possible d'utiliser le même attribut applicationName dans le fichier web.config pour chaque instance de l'application ASP.NET (par exemple, sur chaque serveur web hébergeant l'application /contoso). Cela permet aux différentes instances physiques d'une application de lire et d'écrire les mêmes données du cache de sortie. Dans ce cas, le fournisseur n'utilise pas la propriété AppDomainAppId dans le cadre de la construction des clés de cache. Il n'y a donc pas de risque que les chemins d'accès à la métabase soient différents.

retryInterval (facultatif)

Délai d'attente nécessaire entre les nouvelles tentatives en cas d'erreur lors de la communication avec le cache. Le format de chaîne "HH:MM:SS" doit être utilisé pour cette valeur. Par défaut, le fournisseur bascule en veille pendant une seconde.

retryCount (facultatif)

Valeur entière indiquant au fournisseur le nombre de nouvelles tentatives en cas d'échec de la communication avec le cache. Toutes les opérations ne peuvent pas faire l'objet d'une nouvelle tentative. La valeur par défaut est de trois nouvelles tentatives. Le fournisseur bascule en veille pendant l'intervalle configuré entre chaque nouvelle tentative (retryInterval).

noteRemarque
L'attribut type doit être défini sur “Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache”.

<configuration>
  <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>
  <system.web>
    <!-- Azure Caching output caching provider -->
    <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>
  </system.web>
  <dataCacheClients>
    <dataCacheClient name="default">
      <autoDiscover isEnabled="true" identifier="CacheWorkerRole1" />
    </dataCacheClient>
  </dataCacheClients>
  <cacheDiagnostics>
    <crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
  </cacheDiagnostics>
</configuration>

Voir aussi

Afficher: