cs_roro06
Messages postés732Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention29 octobre 2007
-
15 avril 2005 à 11:16
cs_Yopyop
Messages postés586Date d'inscriptionlundi 7 janvier 2002StatutMembreDernière intervention10 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 ?
cs_Yopyop
Messages postés586Date d'inscriptionlundi 7 janvier 2002StatutMembreDernière intervention10 février 20101 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
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 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 !
(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.
cs_roro06
Messages postés732Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention29 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.