Bonjour a tous,
Ma question à été déja évoqué différement mais je n'ai pas trouvé de solution a ce pb.
Voila je developpe un site sur lequel il y a des membres. Et je voudrais savoir pour un membre particulier si il est en ligne ou pas. Pour ce faire j'ai commencer a élaborer la strategie suivante ;-) :
1/Quand l'utilisateur se loggue, je vais mettre a "true" le champ isOnline sur la table des Membres (SQLServer).
2/Et ensuite j'ajoute en Session son numéro de Membre.
Jusque la super tout va bien, mais c'est apres que ca se complique.
3/L'utilisateur quitte sa session de navigation en cliquant sur "déconnection" (bien éduqué ce monsieur) du coup je suis a meme d'attraper en vole son action et d'aller mettre à "false" le champ isOnline en base.
Mais le probleme survient quand l'utilisateur a coupé son Navigateur et tout de suite apres reviens sur le site. Forcement il a perdu sa Session donc il doit se reconnecter. Et la je remet a jour le "isOnline" à true.
Seulement au bout d'un certain temps sa PREMIERE session arrive a expiration et tombe dans la méthode Session_End du Global.asax. Sur laquelle je récupere l'id du Membre (Session["ID_MEMBRE"]). Et je fais mon update a "False" de IsOnline.
Et la je tombe en incoherence car mon utilisateur est encore en train de naviguer sur le site !!!
Je sais pas si kk aurait une solution a m'apporter mais je seche un peu.
Merci par avance en tout cas.
B.
Partager