SessionID qui change à chaque requête !! Solution

Salut à tous, je suis tombé sur un problème tout con aujourd'hui mais qui m'a occupé :).

En créant un projet simple asp.net 2.0 avec Default.aspx & Default.aspx.cs , je me suis aperçu que l'identifiant de session SessionID change à chaque appel de page (sic!!!).
Bref, je fais le tour voir mes collègues et personne n'arrive à comprendre le pourquoi....(double sic!).
Je créé le même projet en asp.net 1.1 et là mon identifiant de session est bien conservée....(triple sic!)
Je regarde avec Fiddler pour la version 2.0 et aucun cookie n'est transmis (ASP.NET SessionId )....

Bref, la solution à ce problème est simple : Il faut implémenter les méthodes Session_Start/Session_End dans au moins un des IHttpModule (Global.asax par exemple). Si vous les omettez, vous ne pourrez pas utiliser les sessions comme il se doit.

Ca pourrait en dépanner quelques uns.

Publié mardi 19 septembre 2006 20:42 par Poppyto
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

# re: SessionID qui change à chaque requête !! Solution @ mercredi 20 septembre 2006 01:41

pfff, t'es sur d'avoir questionné tout tes collègues ? ;-)

En fait le problème vient d'une optimisation d'ASP.net 2, si tu n'as aucune valeur en variable session, celle ci ne sera pas sauvegardé entre chaque requête (donc pas d'état coté serveur ET coté client (cookies)) le résultat et qu'a chaque requête le sessionID sera différent à chaque appel.

C'est pour cela qu'il ne faut JAMAIS utiliser le SessionID comme identifiant de l'user, il vaut mieux définir une variable Guid.NewGuid() dans une variable session et tout fonctionne normalement ...

cyril

# re: SessionID qui change à chaque requête !! Solution @ mercredi 20 septembre 2006 13:57

Ok pour le principe du Guid, par contre faut que les sessions soient activées ! :-P

Pour l'optimisation asp.net 2.0, j'avais jamais lu ça, et comme j'implémentais par défaut le global.asax avec session_start/stop, j'étais jamais tombé sur ce pépin ^^.

Et puis y'a quelques personnes sur les NG qui ont jamais résolu ce problème, donc ça peut aider :) !

Poppyto


Les 10 derniers blogs postés

- [WPF] Formatter l’affichage lors d’un binding, via StringFormat par Thomas Lebrun le il y a 4 heures et 15 minutes

- WSC08 : Le bilan, Les Photos, Les Webcasts à voir ou à revoir par Blog de Daniel TIZON [daniel] le il y a 13 heures et 23 minutes

- SharePoint et ses DB : Avez vous pensé à les "Tweaker" ? par The Mit's Blog le il y a 13 heures et 52 minutes

- NTttcp : Mesurer la vitesse d'un réseau par Blog d'Olivier Huet le il y a 14 heures et 16 minutes

- Un nouveau quizz par Matthieu MEZIL le il y a 17 heures et 0 minutes

- Webcast ADO.NET Data Services par Matthieu MEZIL le il y a 17 heures et 3 minutes

- edmx : mise à jour du modèle depuis la base par Matthieu MEZIL le il y a 20 heures et 50 minutes

- Alternatif - Mono 2.0 est arrivé! par #Rui le il y a 22 heures et 4 minutes

- Nouveaux avatars pour vos comptes CodeS-SourceS (suite) par Nix's Blog le 10-06-2008, 14:28

- WSC 2008 : les Videos disponibles ! par Philippe Sentenac [MVP SharePoint] le 10-06-2008, 12:20