C# variable session vs variable statique

Fermé
pitimick Messages postés 20 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 2 février 2012 - 22 nov. 2011 à 15:37
pitimick Messages postés 20 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 2 février 2012 - 22 nov. 2011 à 16:30
Bonjour,

Une question technique me trotte, et en testant je tombe sur des résultats pas hyper clair:

j'ai une application web, dans laquelle un utilisateur peut se connecter, affiche dans un champ le pseudo de son utilisateur, et dans un autre la liste de tous les utilisateurs connectés, lui y compris.

Dans un premier temps, je suis passé par des sessions. Je mémorisais en session mon objet utilisateur, et une hashtable statique avec la liste de tous les utilisateurs. Et cela marche à merveillle en lancant l'application sur deux navigateurs distinct.

Dans un deuxième temps je passe toujours pas la session pour l'utilisateur connecté, mais plus que par une variable statique pour la liste des utilisateurs, mais pour cette dernière il n'affiche plus rien.

Comment sont mémorisées les variables statiques? j'ai lu sur un forum qu'à la fin de mon traitement, elle était libérée donc si je reviens en postback ou callback dessus je perdrais mes info, alors que je pensais qu'aussi longtemps que je ne coupe pas mon serveur web, ces variables serait stockées.

J'avoue ne pas encore avoir pris le temps tout débugger. Je passe par une masterPage, je ne sais pas si ça pose un probleme, le problème vient peut-etre aussi de l'initialisation de mes variables statiques... Mais pour ma curiosité et pour éviter de faire n'importe quoi, je souhaiterai en savoir plus sur ce fonctionnement.

Merci

1 réponse

pitimick Messages postés 20 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 2 février 2012
22 nov. 2011 à 16:30
bon le développeur alcoolique que je suis avais mal initialisé ses variables statiques et donc ça fonctionne bien.

J'attends juste une petite explication simple et propre avant de marquer le topic comme résolu
0