Y a-t-il un cookie placé automatiquement sur la machine de l'utilisateur? Ou est-il en quelque sorte associé à l'adresse IP du demandeur? Ou peut-être dans ViewState? Question élémentaire, je sais, mais j'ai eu du mal à trouver une réponse.Comment ASP.NET associe-t-il une requête à une session?
Répondre
Dans IIS, sous la configuration d'ASP.NET il y a un onglet de gestion d'Etat qui a un paramètre appelé "le mode sans cookies" qui a les options suivantes:
UseUri
usecookies
AutoDetect
UseDeviceProfile
Typiquement, "Utiliser les cookies" est sélectionné et donc un cookie est utilisé.
Il est un cookie
Il est appelé ASP.NET_SessionId
.
Pour une application locale, le mien est actuellement
ASP.NET_SessionId=kxt1dee1laeuq445pyzjvv55; path=/; domain=localhost; HttpOnly
Vous pouvez faire utiliser des URL, mais il devient malpropre très rapidement.
Voici un article Vue d'ensemble MSDN qui décrit le processus et les options que vous avez:
ASP.NET Session State Overview
En particulier, note en bas que si authenticate de votre utilisateur pour accéder à votre site, vous devez faire une Abandon de la session lors de la déconnexion afin que les états de session ne persistent pas.