Paramètres de configuration du fournisseur d'état de session ASP.NET dans Azure In-Role Cache
Important
Microsoft recommande tous les nouveaux développements à l’aide du 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 ?
Cette rubrique décrit les paramètres de configuration du fournisseur d’état de session Azure pour ASP.NET. Ces paramètres sont spécifiés dans la section fournisseurs de l’élément sessionState dans le fichier web.config.
Paramètres de configuration de l'état de session
Attribut | Description |
---|---|
nom (obligatoire) |
Nom « convivial » du fournisseur utilisé par l’élément sessionState 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. Sa valeur doit être |
dataCacheClientName (facultatif) |
Nom de la section dataCacheClient à utiliser à partir de la section de configuration dataCacheClients . Cet attribut est obligatoire uniquement si plusieurs sections dataCacheClient sont spécifiées dans le fichier web.config. Par défaut, le fournisseur utilise la section dataCacheClient nommée |
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. Lorsque cet attribut n’est pas défini, le fournisseur utilise la valeur de HttpRuntime.AppDomainAppId dans le cadre des clés de cache qu’il utilise 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 :
|
useBlobMode (facultatif) |
Valeur booléenne qui spécifie le chargement et le stockage des données d'état de session en tant qu'objet blob sérialisé unique. Cet attribut doit être défini sur |
nonInlinedAdditionalLifetime (non pris en charge) |
Cet attribut n'est pas pris en charge dans cette version. |
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 |
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 veille pour le temps de nouvelle tentative configuré entre chaque nouvelle tentative. |
inlinedKeys (non pris en charge) |
Cet attribut n'est pas pris en charge dans cette version. |
maxInlinedStringLength (non pris en charge) |
Cet attribut n'est pas pris en charge dans cette version. |
Notes
L’attribut de type doit être défini sur “Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache”
.
Exemple
<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 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>
</system.web>
<dataCacheClients>
<dataCacheClient name="default">
<autoDiscover isEnabled="true" identifier="CacheWorkerRole1" />
</dataCacheClient>
</dataCacheClients>
<cacheDiagnostics>
<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
</cacheDiagnostics>
</configuration>