2009-01-14 7 views
0

J'ai une page de connexion dans laquelle mes utilisateurs sont validés. En fonction de cette validation, je stocke leurs informations utilisateur dans une variable de session pour y accéder à tout moment. Pour ce faire, j'essaie de stocker une instance de l'une de mes classes générées par dbml "UserInfo". Donc, je POPULATE la classe, puis le stocker dans une variable de session j'appelle « utilisateur »Session Problèmes de variables lors du stockage d'un objet dans ma session

UserInfo u = new UserInfo(); 
    u = dal.RetrieveUser(userID, userPass) 
    Session["user"] = u; 

La question que j'ai avec ceci est, il semble mélanger ces variables de session entre les utilisateurs. Ou plus précisément, il semble toujours prendre les informations de la première variable utilisateur stockée pour chaque utilisateur ultérieur qui se connecte. Ainsi, les informations de l'utilisateur 1 sont extraites pour l'utilisateur 2, l'utilisateur 3, etc ...

Est-ce mon problème? que ma classe "UserInfo" est en quelque sorte statique? Ou qu'est-ce qui cause cela? Ma classe UserInfo ressemble à ceci:

public partial class UserInfo 
    { 
     ... 

EDIT: Après un examen plus il semble que mes variables de session sont en fait fonctionner correctement, mais mes menus personnalisés sont en fait le problème.

Répondre

1

Cela ressemble davantage à un problème avec la couche d'accès au contenu que l'objet de session. Pouvez-vous vérifier que l'ID utilisateur transmis à chaque fois est différent et que la fonction RetrieveUser utilise la valeur transmise et non une valeur statique?

+0

ouais je l'ai vérifié et vérifié mais il récupère la bonne information et crée la variable de session correctement. L'ID utilisateur est en fait juste la valeur de la zone de texte de la connexion. –

0

Testez-vous cela en utilisant le client Web sur le même ordinateur ou sur des ordinateurs distincts? Par exemple, par défaut, FireFox s'exécutera en un seul processus même si vous avez plusieurs fenêtres ou onglets ouverts. Aussi bête que cela puisse paraître, un de mes collègues n'avait pas remarqué ce phénomène lorsqu'il avait eu le même problème.

Questions connexes