2008-10-23 8 views

Répondre

10

Si vous utilisez la session par défaut dans ASP.NET, elle est stockée en mémoire dans le processus de travail ASP.NET. C'est un cache côté serveur, rien à voir avec le client. D'autres options de stockage de session sont disponibles, telles que la machine d'état de session dédiée ou le serveur SQL. Vous pouvez également lancer votre propre fournisseur de session.

découvrirez ici http://msdn.microsoft.com/en-us/library/ms972429.aspx

2

La session est stockée sur le serveur Web et non le client. ASP.NET stocke généralement une clé de la session dans un cookie et l'utilise pour identifier votre session la prochaine fois que vous contacterez le serveur Web.

4

Le client reçoit un cookie pour l'identifier (ASP.NET_SessionId) mais toutes les valeurs sont stockées sur le serveur.

Si vous utilisez Firebug ou Fiddler, vous pouvez voir que cela est réglé. Comme l'indique redsquare, la configuration par défaut consiste à stocker toutes les valeurs dans la mémoire du serveur (une des raisons pour limiter ce que vous stockez dans la session) mais vous pouvez voir la valeur en utilisant Session.SessionID.ToString()

Si vous modifiez la valeur dans la cuisson d'identification, cela modifiera le serveur que vous pensez être quand il s'agit de renvoyer des variables de session. Nous utilisons cette fonctionnalité pour nous aider à déboguer ce qui est dans les sessions des utilisateurs.

Je pense aussi que le cookie de session d'identification a une propriété appelée quelque chose comme HttpReadOnly, donc il ne peut pas être lu depuis javascript pour des raisons de sécurité.