Contrôle de l'état de session
Mise à jour : novembre 2007
Microsoft ASP.NET fournit un objet d'HttpSessionState qui vous permet d'enregistrer des informations sur la session d'un utilisateur au cours de plusieurs demandes. La fonctionnalité de gestion de session ASP.NET est évolutive et solide ; vous pouvez l'utiliser dans des batteries de serveurs Web.
Considérations sur les sessions sans cookies
Par défaut, l'objet session d'ASP.NET utilise un cookie côté client pour stocker un identificateur. L'identificateur sert à localiser la session au cours des accès répétés au serveur. Cependant, ASP.NET prend également en charge un mode de session sans cookies qui redirige initialement le client vers une nouvelle URL contenant l'ID de session, et qui analyse automatiquement l'ID de session à partir de l'URL.
Pour les pages Web mobiles ASP.NET qui utilisent l'état de session, vous devez prendre en compte les facteurs suivants :
Certains appareils et passerelles mobiles ne prennent pas en charge les cookies. Dans ce cas, la gestion de session du serveur Web doit être définie en mode sans cookies.
Certains appareils mobiles ont des problèmes pour gérer les URL relatives, une fois qu'elles sont redirigées via la gestion de session sans cookies.
Utilisation d'alternatives aux cookies
Certains appareils mobiles ne prennent pas en charge les cookies ; par conséquent, vous devez trouver des techniques de remplacement pour les situations où un état persistant est nécessaire. Par exemple, si un utilisateur se connecte à une page, l'application peut assigner un ID de connexion valide jusqu'à la fin de la session. En règle générale, vous utilisez un cookie pour ce type d'authentification ; dans ce cas, on parle d'authentification par cookie. Cependant, l'authentification par cookie n'est pas possible sur les appareils qui ne prennent pas en charge les cookies. Vous devez plutôt faire appel à un autre mécanisme de gestion d'état.
État de session
L'utilisation de l'état de session est une solution possible. Dans la mesure où vous pouvez configurer le fonctionnement de l'état de session sans cookies, l'utilisateur peut conserver l'ID dans l'état de session. Cependant, l'un des inconvénients de cette technique est que les informations expirent en même temps que la session. Par ailleurs, cette technique requiert l'utilisation constante de l'état de session, ce qui présente un autre inconvénient.
Variables masquées
Les pages Web mobiles ASP.NET ne comprennent pas de contrôle mobile pour l'écriture de variables masquées. Le formulaire fournit plutôt une collection appelée HiddenVariables dans la classe MobilePage. Toutes les paires nom/valeur stockées dans cette collection sont enregistrées en tant que variables masquées. La collection HiddenVariables est automatiquement remplie à nouveau de variables masquées lorsque le formulaire est soumis.
Cette solution fait appel à l'utilisation de variables masquées sur une page. Les variables masquées sont automatiquement soumises à nouveau en même temps que le formulaire, que cette soumission s'applique à la même page ou à une autre page.
Voir aussi
Concepts
Contrôle de l'état d'affichage
Vue d'ensemble de la gestion d'état ASP.NET
Référence
Autres ressources
Prise en charge de l'état d'affichage
Création de pages Web mobiles ASP.NET