Session.sessionId

Résolu
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007 - 15 avril 2005 à 11:16
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 - 18 avril 2005 à 11:11
Bonjour

Voici mon problème :

Je developpe un site en asp3. Si j'ouvre deux fois mon navigateur sur
ce site, je m'attendais à avoir deux session.sessionId differentes. ça
marche comme ça avec Internet explorer, mais avec firefox, j'ai le même
dans les deux sessions. Est-ce bien normal ?

Cordialement
Roro webDev

7 réponses

cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
18 avril 2005 à 09:42
Salut,

Si je me souviens bien (et ca paraît normal) le session_OnEnd ne se lance pas quand un user ferme son browser (le serveur n'a aucun moyen de savoir que le client a fermé son browser... était son ordinateur...subit une coupure de courant...)..

Par contre, si tu attends le temps de ta session (20 minutes par défaut non ?), regarde si à ce moment là ton compteur ne t'indique pas le nombre juste (fais un test en mettant le temps de session à 2 minutes). Normalement la session devrait être expirée et le sessionOnEnd devrait (devrait) être lancé.

Maintenant, si tu veux éviter d'avoir X IE sur ton site pour un seul user, tu peux essayer de compter les REMOTE_ADDR (avec Request.ServerVariables (REMOTE_ADDR) ).

Mais je ne sais plus s'il te renvoie l'adresse ip directe du user ou celle du provider...

Par-contre, si le user est derrière un masque réseau (genre une entreprise a une seule adresse ip vu depuis l'extérieur), toutes les personnes de cette entreprise compteront comme un seul user...

un compteur du genre restera donc toujours approximatif...

sauf si tu pars du principe que si un user ouvre 2 browsers sur ton site.. et bein il comptera 2 fois...

finalement ce n'est pas si grâve... dis-toi que parfois, tu auras un browser ouvert avec 2 personnes regardant l'écran

yopyop
3
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
15 avril 2005 à 17:16
Salut
ça veut dire que FireFox n'envoi qu'une seule requête au serveur (donc il n'y a qu'une seule sessionID)
en gros : lors du premier appel de la page, il lance une requête sur le serveur, et la deuxième fois il recharge la page à partir du cache client

(c'est vrai que cette fois IE est plus logique que FireFox...)

Nurgle
C'est une grande folie que de vouloir être sage tout seul !
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
15 avril 2005 à 17:16
Essaye d'enpêcher la mise en cache de la page
(on sait jamais...)

Nurgle
C'est une grande folie que de vouloir être sage tout seul !
0
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
15 avril 2005 à 17:28
sur IE tout dépends de comment tu ouvres ... ta fenêtre.

si tu relances IE -> nouvelle sessionID (je crois)
si tu fais File->New window -> même sessionId

je me souviens plus très bien... mais il y a un truc du genre.

ca veut dire que firefox lance 1 process (je connais pas firefox...)...je suppose..

yopyop
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
18 avril 2005 à 09:22
Bonjour




D'abord, merci pour vos réponses.

En fait, j'essayais de "compter" les connectés au site. Donc, j'ai pondu mon global.asa comme ceci :


sub session_OnStart

compteur.increment("cp_gen")

session("vu")=false



statCP.site="AEFCA"

statCP.cpIncrement "AEFCA_ Session"

application.lock

application("nbConnect")=application("nbConnect")+1

application.unlock

end sub



sub session_OnEnd

session.abandon

application.lock

application("nbConnect")=application("nbConnect")-1

application.unlock

statCP.cpIncrement "AEFCA_FIN_SESSION"

end sub


(Quiconque a lu une doc sur le global.asa connaît cet exemple, je n'ai rien inventé .)

Je m'aperçois de deux choses : Comme indiqué dans ma question, si
j'ouvre deux fois mon navigateur, je n'ai qu'un connecté avec firefox,
deux avec IE.

Encore pire ("tu vois pire, c'est grave ! ben ENCORE pire !" M.C ) : Lorsque je ferme le navigateur, je pensais décrémenter mon compteur "nbConnect". Ben NON !

Même avec le session.abandon.



C'est pour çà que j'avais affiché le sessionId, pour comprendre, mais je ne puis me rabattre sur le problème de cache.


Cordialement
Roro webDev
0
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
18 avril 2005 à 09:57
Bonjour

"Par
contre, si tu attends le temps de ta session (20 minutes par défaut non
?), regarde si à ce moment là ton compteur ne t'indique pas le nombre
juste (fais un test en mettant le temps de session à 2 minutes).
Normalement la session devrait être expirée et le sessionOnEnd devrait
(devrait) être lancé."




Je confirme.

(mes temps de session sont remontés à 480 minutes pour certains utilisateurs de ce site, à leur demande )



REMOTE_ADDR me renvoie, en toute logique l'adresse de firewall. Donc ...



En fait, je crois que je vais me passer de ce gadget, tout simplement.

Encore merci


Cordialement
Roro webDev
0
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
18 avril 2005 à 11:11
Sage decision

yopyop
0
Rejoignez-nous