ASP.NET Session State ou Gestion de l’authentification en Out-Of-Process pour IIS 6
Voici un article sur une Best-Practice que nous essayons de prodiguer au plus grand nombre.
Par défaut, les données de sessions utilisateurs dans IIS sont stockées "In-Process". Ceci veut dire que les données sont stockées dans le processus "W3WP.exe" de l'application. Le problème est que lorsqu'on recycle l'application, étant donné que nous chargeons un nouveau processus "W3WP.exe", nous perdons ces données et les utilisateurs sont obligés de se ré-authentifier.
Pour les applications ASP.NET il est possible de gérer les données de sessions utilisateurs "Out-Of-Process" en les stockant dans un processus indépendant de IIS qui ne sera donc pas affecté par le recyclage.
Cela peut se faire de quatre manières différentes :
- Sur le même serveur
- dans le processus aspnet_state.exe
- sur un SQL Serveur
- Sur un serveur distant
- dans le processus aspnet_state.exe
- sur un SQL Serveur
Cette méthode est relativement simple. Le seul pré-requis est que tous les objets devant être envoyés en sessions soient sérialisables
Pour plus de détails sur le ASP.NET SessionState :
- https://msdn.microsoft.com/fr-fr/library/ms972429(en-us).aspx
- !!! Attention !!!, l'article contient également des informations sur ASP SessionState, ce qui est totalement différent
Pour la mise en place d'un Session State :
- Activez le service "ASP.NET State Service"
- Modifiez le Web.Config de votre application
A titre d'exemple, l'ajout de la ligne suivante dans le Web.config permet l'activation de l'ASP.NET Session State en local dans le processus aspnet_state.exe
- <sessionState mode="StateServer" cookieless="false" timeout="20" stateConnectionString="tcpip=localhost:42424"/>
Dans le cas d'une application stockant un nombre important de données en session, il est impératif de tester les performances avant toute mise en production afin de vérifier que la sérialisation n'affecte pas les temps de réponses.
Ce paramètre n'est donc pas activable pour toutes les applications.
A tester !
@ Bientôt
Sylvain Lecerf et L'équipe de support IIS Microsoft France
Comments
- Anonymous
December 10, 2008
Voici un article présentant comment installer IIS 6 et comment le configurer, ainsi que quelques recommandations