Exporter (0) Imprimer
Développer tout

sessionState, élément (Schéma des paramètres ASP.NET)

Configure des paramètres d'état de session pour l'application actuelle.

configuration, élément (Schéma des paramètres généraux)
  system.web, élément (Schéma des paramètres ASP.NET)
    sessionState, élément (Schéma des paramètres ASP.NET)

<sessionState 
    mode="[Off|InProc|StateServer|SQLServer|Custom]"
    timeout="number of minutes"
    cookieName="session identifier cookie name"
    cookieless=
         "[true|false|AutoDetect|UseCookies|UseUri|UseDeviceProfile]"
    regenerateExpiredSessionId="[True|False]"
    sqlConnectionString="sql connection string"
    sqlCommandTimeout="number of seconds"
    allowCustomSqlDatabase="[True|False]"
    useHostingIdentity="[True|False]"
    stateConnectionString="tcpip=server:port"
    stateNetworkTimeout="number of seconds"
    customProvider="custom provider name">
    <providers>...</providers>
</sessionState>

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description

allowCustomSqlDatabase

Attribut Boolean facultatif.

Spécifie si la base de données SQL d'état de session peut être une base de données personnalisée au lieu de la base de données par défaut ASP.NET. Si la valeur est false, vous ne pouvez pas spécifier de catalogue initial ni de base de données comme valeur de l'attribut sqlConnectionString. La base de données SQL d'état de session par défaut est la base de données ASPState. Pour plus d'informations, consultez Modes d'état de session.

Cet attribut est une nouveauté de la version 2.0 du .NET Framework.

La valeur par défaut est false.

cookieless

Attribut HttpCookieMode facultatif.

Spécifie le mode d'utilisation des cookies pour une application Web.

L'attribut cookieless peut avoir l'une des valeurs suivantes : La valeur par défaut est la valeur UseCookies.

Valeur Description

AutoDetect

ASP.NET détermine si le navigateur ou le périphérique qui effectue la demande prend en charge les cookies. Si le périphérique ou le navigateur qui effectue la demande prend en charge les cookies, AutoDetect utilise des cookies pour rendre les données utilisateur persistantes ; sinon, un identificateur est saisi dans la chaîne de requête. Si le navigateur ou le périphérique prend en charge les cookies mais si ceux-ci sont actuellement désactivés, les cookies sont néanmoins utilisés par la fonctionnalité qui effectue la demande.

UseCookies

Les cookies rendent les données utilisateur persistantes, que le navigateur ou le périphérique prenne en charge les cookies ou non.

UseDeviceProfile

ASP.NET détermine s'il faut utiliser des cookies en fonction du paramètre HttpBrowserCapabilities. Si le paramètre HttpBrowserCapabilities indique que le navigateur ou le périphérique prend en charge les cookies, ces derniers sont utilisés ; sinon, un identificateur est utilisé dans la chaîne de requête.

UseUri

La fonctionnalité appelante utilise la chaîne de requête pour stocker un identificateur, que le navigateur ou le périphérique prenne en charge les cookies, ou non.

cookieName

Attribut String facultatif.

Spécifie le nom du cookie qui stocke l'identificateur de session.

Cet attribut est une nouveauté de la version 2.0 du .NET Framework.

La valeur par défaut est "ASP.NET_SessionId".

customProvider

Attribut String facultatif.

Spécifie le nom d'un fournisseur d'états de session personnalisé à utiliser pour le stockage et la récupération des données d'état de session. Le fournisseur est spécifié dans l'élément providers. Le fournisseur est utilisé uniquement lorsque le mode État de session a la valeur Custom. Pour plus d'informations, consultez Modes d'état de session.

Cet attribut est une nouveauté de la version 2.0 du .NET Framework.

La valeur par défaut est une chaîne vide ("").

mode

Attribut SessionStateMode facultatif.

Spécifie l'emplacement de stockage des valeurs de l'état de session. Pour plus d'informations, consultez Modes d'état de session.

L'attribut mode peut avoir l'une des valeurs suivantes : La valeur par défaut est la valeur InProc.

Valeur Description

Custom

L'état de session utilise un magasin de données personnalisé pour stocker les informations d'état de session.

InProc

L'état de session est en cours avec un processus de travail ASP.NET.

Off

L'état de session est désactivé.

SQLServer

L'état de session utilise une base de données SQL Server out-of-process pour stocker les informations d'état.

StateServer

L'état de session utilise le service d'état ASP.NET out-of-process pour stocker des informations d'état.

partitionResolverType

Attribut String facultatif.

Spécifie l'emplacement de stockage de l'état de session. Si une valeur est spécifiée dans l'attribut partitionResolverType, les attributs sqlConnectionString et stateConnectionString sont ignorés. La chaîne de connexion retournée par la propriété PartitionResolverType est utilisée avec chaque demande pour se connecter à l'emplacement de serveur approprié pour le reste de la demande. Si la chaîne de connexion n'est pas valide, ASP.NET lève la même exception que celle qui est levée lorsque la chaîne de connexion au serveur configurée n'est pas valide. Cette propriété est utilisée pour diviser les données d'état de session entre plusieurs nœuds principaux en mode SQL ou serveur d'état.

Cet attribut est une nouveauté de la version 2.0 du .NET Framework.

La valeur par défaut est une chaîne vide.

regenerateExpiredSessionId

Attribut Boolean facultatif.

Spécifie si l'ID de session est publié de nouveau lorsqu'un ID de session périmé est spécifié par le client. Par défaut, les ID de session sont publiés de nouveau uniquement pour le mode cookieless lorsque regenerateExpiredSessionId est activé. Pour plus d'informations, consultez IsCookieless.

Cet attribut est une nouveauté de la version 2.0 du .NET Framework.

La valeur par défaut est true.

sqlCommandTimeout

Attribut TimeSpan facultatif.

Spécifie le délai d'expiration, en secondes, des commandes SQL qui utilisent le mode État de session SQL Server. Ce délai représente le nombre autorisé de secondes d'inactivité d'une commande SQL avant son annulation.

Cet attribut est une nouveauté de la version 2.0 du .NET Framework.

La valeur par défaut est 0:00:30 (30 secondes).

sqlConnectionString

Attribut String facultatif.

Spécifie la chaîne de connexion d'un ordinateur SQL Server. Cet attribut est requis lorsque l'attribut mode a la valeur SQLServer. Pour plus d'informations, consultez Modes d'état de session.

RemarqueRemarque

Pour améliorer la sécurité de votre application lorsque vous utilisez le mode SQLServer, utilisez la configuration protégée pour protéger la valeur sqlConnectionString en chiffrant la section sessionState de votre configuration.

La valeur par défaut est "data source=127.0.0.1;Integrated Security=SSPI".

stateConnectionString

Attribut String facultatif.

Spécifie le nom ou l'adresse ainsi que le port du serveur sur lequel l'état de session est stocké à distance. La valeur du port doit être 42424. Cet attribut est requis lorsque mode a la valeur StateServer. Assurez-vous que le service d'état ASP.NET est en cours d'exécution sur le serveur distant qui stocke les informations d'état de session. Ce service est installé avec ASP.NET et placé par défaut dans %SystemRoot%\Microsoft.NET\Framework\VersionNumber\aspnet_state.exe. Pour plus d'informations, consultez Modes d'état de session.

RemarqueRemarque

Pour améliorer la sécurité de votre application lorsque vous utilisez le mode StateServer, utilisez la configuration protégée pour protéger la valeur stateConnectionString en chiffrant la section <sessionState> de votre configuration.

La valeur par défaut est "tcpip=127.0.0.1:42424".

stateNetworkTimeout

Attribut TimeSpan facultatif.

Spécifie la durée autorisée d'inactivité, en secondes, de la connexion réseau TCP/IP entre le serveur Web et le serveur d'état avant l'annulation de la demande. Cet attribut est utilisé lorsque l'attribut mode a la valeur StateServer.

La valeur par défaut est 10 secondes.

timeout

Attribut TimeSpan facultatif.

Spécifie la durée, exprimée en minutes, pendant laquelle une session peut rester inactive avant d'être abandonnée. L'attribut timeout ne peut pas avoir une valeur supérieure à 525 601 minutes (1 an) pour les modes de serveur d'état et de serveur in-process.

Le paramètre de configuration timeout de session s'applique uniquement aux pages ASP.NET. La modification de la valeur timeout de session n'affecte pas le délai d'expiration de session des pages ASP. De la même façon, la modification du délai d'expiration de session des pages ASP n'affecte pas le délai d'expiration de session des pages ASP.NET.

La valeur par défaut est 20 minutes.

useHostingIdentity

Attribut Boolean facultatif.

Spécifie si l'état de session revêtira de nouveau l'identité d'hébergement ou empruntera celle du client.

Si la valeur est true, ASP.NET se connecte au magasin d'états de session à l'aide de l'une des informations d'identification suivantes :

  • Processus hôte, à savoir ASPNET pour Microsoft Internet Information Services [IIS] version 5 et 5.1 ou le SERVICE RÉSEAU pour Microsoft Windows Server 2003.

  • Identité empruntée à l'application, dans le cas où la configuration suivante est utilisée :

    <identity impersonate="true" userName="user" password="pwd" />

Si la valeur est false, ASP.NET se connecte au magasin d'états de session à l'aide des informations d'identification actuellement associées au thread du système d'exploitation pour la demande actuelle. Pour l'emprunt d'identité client, ASP.NET se connecte au magasin d'états de session à l'aide des informations d'identification de sécurité négociées avec le navigateur. Si la valeur est false, ASP.NET ne reprend pas l'identité du processus ou l'identité empruntée à l'application lors de la connexion au magasin d'états de session. Pour plus d'informations, consultez Emprunt d'identité ASP.NET.

Cet attribut est une nouveauté de la version 2.0 du .NET Framework.

La valeur par défaut est true.

RemarqueRemarque

Dans la version 1.1 du .NET Framework, si l'attribut mode avait la valeur SQLServer et que l'emprunt d'identité client était appliqué, ASP.NET se connectait à l'ordinateur SQL Server à l'aide des informations d'identification client de l'emprunt d'identité client ASP.NET.

Attributs hérités

Attributs facultatifs.

Attributs hérités par tous les éléments Section.

Éléments enfants

Élément Description

providers

Contient une collection de fournisseurs de magasins d'état de session personnalisés.

Éléments parents

Élément Description

configuration

Élément racine requis dans chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework.

system.web

Spécifie l'élément racine des paramètres de configuration ASP.NET dans un fichier de configuration et contient des éléments de configuration qui configurent des applications Web ASP.NET et contrôlent le comportement des applications.

L'élément sessionState configure les paramètres d'état de session de l'application actuelle.

Lorsqu'un nouveau client commence à interagir avec une application Web, un ID de session est émis et associé à toutes les demandes suivantes du même client pour toute la durée de validité de la session. Cet ID est utilisé pour conserver l'état, côté serveur, associé à la session cliente entre les demandes. L'élément sessionState contrôle la façon dont l'application ASP.NET établit et maintient cette association pour chaque client.

Ce mécanisme offre une grande souplesse et vous permet d'héberger des informations d'état de session out-of-process et d'effectuer un suivi de l'état sans utiliser de cookies.

Vous pouvez dépasser la taille maximale de l'URI lorsque vous envoyez l'ID de session dans l'URI. Si la combinaison du ticket d'identification anonyme, du ticket d'authentification par formulaire, de l'ID de session et des données utilisateur donne une valeur supérieure à la longueur maximale autorisée de l'URI, la demande échoue avec une erreur 400 - Demande incorrecte.

Pour utiliser le mode StateServer
  1. Assurez-vous que le service d'état ASP.NET est en cours d'exécution sur le serveur distant chargé de stocker les informations d'état de session.

    Le service d'état ASP.NET est installé avec ASP.NET et se trouve par défaut dans %SystemRoot%\Microsoft.NET\Framework\version\aspnet_state.exe.

  2. Dans le fichier Web.config de l'application, affectez "StateServer" à mode et une valeur, par exemple "tcpip=dataserver:42424", à stateConnectionString.

Pour utiliser le mode SQLServer
  1. Sur l'ordinateur SQL Server chargé de stocker l'état de session, exécutez InstallSqlState.sql.

    Par défaut, InstallSqlState.sql est situé dans %SystemRoot%\Microsoft.NET\Framework\version.

    Cela crée une base de données appelée ASPState avec de nouvelles procédures stockées et tables nommées ASPStateTempApplications et ASPStateTempSessions dans la base de données TempDB.

  2. Dans le fichier Web.config de l'application, affectez "SQLServer" à mode et une valeur, par exemple "data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind", à sqlConnectionString.

RemarqueRemarque

Vous pouvez utiliser aspnet_regsql pour réaliser ces étapes.

Pour plus d'informations sur l'accès aux valeurs de configuration de l'élément sessionState dans le code d'application et leur modification, consultez SessionStateSection et System.Web.SessionState.

L'élément sessionState par défaut n'est pas configuré explicitement dans le fichier Machine.config ou dans le fichier Web.config racine. Toutefois, il s'agit de la configuration par défaut retournée par l'application.

<sessionState 
   mode="InProc" 
   stateConnectionString="tcpip=127.0.0.1:42424" 
   stateNetworkTimeout="10" 
   sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI" 
   sqlCommandTimeout="30" 
   customProvider="" 
   cookieless="UseCookies" 
   cookieName="ASP.NET_SessionId" 
   timeout="20" 
   allowCustomSqlDatabase="false" 
   regenerateExpiredSessionId="true" 
   partitionResolverType="" 
   useHostingIdentity="true">
   <providers>
      <clear />
   </providers>
</sessionState>

L'exemple de code suivant montre comment spécifier plusieurs paramètres de configuration d'état de session.

<sessionState
   mode="SQLServer"
   cookieless="true"
   sqlConnectionString=" Integrated Security=SSPI;data source=MySqlServer;"
   sqlCommandTimeout="10" />
  </system.web>
</configuration>

Gestionnaire de section de configuration

SessionStateSection

Membre de configuration

System.Web.SessionState

Emplacements configurables

Machine.config

Web.config racine

Web.config au niveau de l'application

Configuration requise

Microsoft Internet Information Services version 5.0, 5.1 ou 6.0

.NET Framework version 1.0, 1.1 ou 2.0

Microsoft Visual Studio 2003 ou Visual Studio 2005

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft