Fournisseur d'état de session pour Windows Azure Caching
Le fournisseur d'état de session d'Windows Azure est un mécanisme de stockage hors processus pour les applications ASP.NET. Ce fournisseur permet de stocker l'état de votre session dans un cache Windows Azure plutôt que dans la mémoire ou une base de données SQL Server.
Pour accéder à un exemple de mise en cache d’état de session, consultez la rubrique Exemple relatif à l’état de la session Caching et Output Caching.
Fonctionnalités
Le fournisseur d'état de session de Windows Azure présente les améliorations suivantes par rapport aux précédents fournisseurs d'état de session ASP.NET :
-
Il utilise la classe NetDataContractSerializer en interne pour la sérialisation de l'état de session.
-
Il peut partager l'état de session entre plusieurs applications ASP.NET.
-
Il prend en charge les accès simultanés au même ensemble d'état de session pour plusieurs lecteurs et un seul éditeur.
-
Il peut utiliser la compression via les propriétés du cache client.
L'utilisation de la classe NetDataContractSerializer pour la sérialisation permet de prendre en charge davantage de types sérialisables. Ceci inclut les types sérialisables binaires.
Le fournisseur permet à plusieurs applications ASP.NET de lire et d'écrire les mêmes données d'état de session. Prenons l'exemple d'un développeur chargé de deux sites ASP.NET : /contoso et /adventureworks. Le fournisseur d'état de session peut être configuré dans chaque application Web de façon à pointer vers le même magasin d'état de session dans le cluster de cache. Ainsi, les deux applications lisent et écrivent les mêmes données d'état de session pour un identificateur de session donné.
Le fournisseur d'état de session prend en charge les accès simultanés au même ensemble d'état de session pour plusieurs lecteurs et un seul éditeur. Dans ce cas, les lecteurs sont définis en tant que pages signalées comme utilisant l'état de session ReadOnly. Les demandes des applications qui sollicitent de façon importante les appels AJAX ne sont pas placées en file d'attente côté serveur si la plupart des schémas d'accès à l'état de session de l'application ne requièrent qu'un accès en lecture seule à l'état de session.
Ajout du fournisseur d’état de session à un projet ASP.NET
-
Commencez par configurer un cache à utiliser avec le fournisseur ASP.NET. Vous pouvez héberger Caching avec une topologie colocalisée ou un rôle dédié.
-
Utilisez NuGet pour ajouter la prise en charge de Caching à votre projet ASP.NET dans Visual Studio. Pour obtenir des instructions, consultez la rubrique Préparation de Visual Studio pour utiliser Windows Azure Caching.
Important Cette procédure requiert le dernier gestionnaire de package NuGet (version 2.1.31002.9028 ou supérieure). Pour installer le dernier gestionnaire de package NuGet, accédez à la page http://go.microsoft.com/fwlink/?LinkId=240311. -
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.
-
Dans le fichier web.config, supprimez les commentaires de la section sessionState.
<!-- Windows 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 de cache de sortie.
-
Modifiez le cache nommé ciblé avec l’attribut cacheName de l’élément add.
-
Modifiez la source des paramètres de cache client 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 cache client en modifiant les paramètres de la section dataCacheClient associée. Par exemple, activez la compression avec l’attribut isCompressionEnabled.
Pour obtenir la liste des options de configuration disponibles, consultez la rubrique Paramètres de configuration des clients Windows Azure Caching (Web.config). Notez que les fournisseurs ASP.NET pour Caching 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 : Le 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.<dataCacheClient name="default" isCompressionEnabled="true">
-
Modifiez les paramètres du fournisseur d’état de session. Pour obtenir la liste des options de configuration disponibles, consultez la rubrique Paramètres de configuration du fournisseur d’état de session ASP.NET (Windows Azure Caching).
Pour utiliser le fournisseur avec Shared Caching, consultez la rubrique Configuration du fournisseur d’état de session ASP.NET (Windows Azure Shared Caching).
Dans cette section
Voir aussi
Date de génération :