sessionState, élément (Schéma des paramètres ASP.NET)
Mise à jour : novembre 2007
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>
Attributs et éléments
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 .NET Framework version 2.0. 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.
|
||||||||||||
cookieName |
Attribut String facultatif. Spécifie le nom du cookie qui stocke l'identificateur de session. Cet attribut est une nouveauté de .NET Framework version 2.0. 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 .NET Framework version 2.0. 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.
|
||||||||||||
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 requête pour se connecter à l'emplacement de serveur approprié pour le reste de la requête. 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 partitionner 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 .NET Framework version 2.0. 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 .NET Framework version 2.0. 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 .NET Framework version 2.0. 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. Vous pouvez affecter à cet attribut une sqlConnectionString nommée à partir du nœud connectionStrings ou utiliser la syntaxe suivante :
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 %windir%\Microsoft.NET\Framework\VersionNumber\aspnet_state.exe. Pour plus d'informations, consultez Modes d'état de session.
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 requête. 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 600 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 :
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 requête 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 .NET Framework version 2.0. La valeur par défaut est true.
|
||||||||||||
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 obligatoire 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 qui configurent des applications Web ASP.NET et contrôlent le comportement des applications. |
Notes
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 requêtes 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 requêtes. 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 requête échoue avec une erreur 400 - Demande incorrecte.
Pour utiliser le mode StateServer
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 %windir%\Microsoft.NET\Framework\version\aspnet_state.exe.
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
Sur l'ordinateur SQL Server chargé de stocker l'état de session, exécutez InstallSqlState.sql.
Par défaut, InstallSqlState.sql est situé dans %windir%\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.
Dans le fichier Web.config de l'application, affectez "SQLServer" à mode et une valeur, par exemple "data source=localhost;Integrated Security=SSPI;", à sqlConnectionString.
Remarque : Vous pouvez utiliser Aspnet_regsql.exe 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.
Configuration par défaut
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>
Exemple
L'exemple suivant montre comment spécifier des paramètres de configuration d'état de session.
<sessionState
mode="SQLServer"
cookieless="true"
sqlConnectionString=" Integrated Security=SSPI;data source=MySqlServer;"
sqlCommandTimeout="10" />
Informations sur les éléments
Gestionnaire de section de configuration |
|
Membre de configuration |
|
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 |
Voir aussi
Tâches
Comment : configurer des répertoires spécifiques à l'aide des paramètres d'emplacement
Comment : verrouiller des paramètres de configuration ASP.NET
Concepts
Sécurisation de l'état de session
Hiérarchie du fichier de configuration ASP.NET et héritage
Sécurisation de la configuration ASP.NET
Scénarios de configuration ASP.NET
Référence
system.web, élément (Schéma des paramètres ASP.NET)
providers, élément de sessionState (Schéma des paramètres ASP.NET)
configuration, élément (Schéma des paramètres généraux)
Autres ressources
Chiffrement des informations de configuration à l'aide de la configuration protégée
Paramètres généraux de configuration (ASP.NET)
Paramètres de configuration ASP.NET