VENTES: 1-800-867-1389

Fournisseur d'état de session pour Azure Cache

Mis à jour: septembre 2014

noteRemarque
Pour obtenir des conseils sur le choix de l'offre Azure Cache appropriée pour votre application, consultez Choix de l'offre Azure Cache appropriée.

Le fournisseur d'état de session de 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 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 Exemple relatif à l'état de la session de mise en cache et la mise en cache de sortie.

Le fournisseur d'état de session de 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 client de cache.

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 rappels des applications qui sollicitent de façon importante les appels AJAX ne sont pas placés en file d'attente côté serveur si la plupart des schémas d'accès à l'état de session de l'application requièrent uniquement un accès en lecture seule à l'état de session.

  1. Commencez par configurer un cache à utiliser avec le fournisseur ASP.NET. Vous pouvez héberger mise en cache avec une topologie colocalisée ou un rôle dédié.

  2. Utilisez NuGet pour ajouter la prise en charge de mise en cache à votre projet ASP.NET dans Visual Studio. Pour obtenir des instructions, consultez Procédure : Préparation de Visual Studio à l'utilisation de In-Role Cache (Azure Cache).

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

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

  4. 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 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, consultez Paramètres de configuration de client In-Role Cache (Web.config). 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, consultez Paramètres de configuration du fournisseur d'état de session ASP.NET (Azure Cache).

Voir aussi

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.
Afficher:
© 2015 Microsoft