Session.sessionId [Résolu]

Signaler
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007
-
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
-
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

Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
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
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
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 !
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
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 !
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
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
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

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
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

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
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
Sage decision

yopyop