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

- TechDays Paris 2012 : Session pleinière jour 3 par Blog Technique de Romelard Fabrice le 02-09-2012, 11:01

- Mishra Reader : un lecteur RSS très Zune Style en Open Source ! par Cyril Sansus le 02-09-2012, 08:28

- [framework 4] Les Tasks et le Thread UI par Fathi Bellahcene le 02-09-2012, 00:33

- Workflow Foundation 3 a un pied dans la tombe par Blog de Jérémy Jeanson le 02-08-2012, 22:15

- TechDays Paris 2012 : Nouvelles tendances du poste de travail - Bring Your own PC par Blog Technique de Romelard Fabrice le 02-08-2012, 19:42

- TechDays Paris 2012 : System Center Service Manager 2012 Vue d’ensemble par Blog Technique de Romelard Fabrice le 02-08-2012, 17:32

- TechDays Paris 2012 : Pleinière second jour par Blog Technique de Romelard Fabrice le 02-08-2012, 16:23

- TechDays Paris 2012 : Retour d'expérience sur la mise en place d'un Cloud Privé par Blog Technique de Romelard Fabrice le 02-08-2012, 16:04

- TechDays Paris 2012 : Comment SharePoint a sauvé mes TechDays par Blog Technique de Romelard Fabrice le 02-07-2012, 23:59

- Perspective 3.0 pour Silverlight 5.0 par Perspective le 02-07-2012, 22:39