Bonjour,
Un problème pour lequel je n'ai pas trouvé de solution en asp.net.
Le but est qu'un utilisateur ne puisse se connecter simultanément qu'une seule fois. (un utilisateur ne peut pas avoir deux sessions en même temps).
J'ai claqué la liste des utilisateurs dans une base, avec une petite colonne où je mets 1 à l'ouverture d'une session, 0 à la fermeture. Tout fonctionne bien : je sais quels utilisateurs sont connectés ou non.
Mais voilà que si l'utilisateur béta ferme son navigateur au lieu de cliquer sur "déconnecter", le serveur ne reçoit rien (je trouve ça normal, même si j'aurai aimé être averti ), les évènements session_end ou application_end ne sont pas effectués et pour moi, il restera éternellement connecté!
Donc apparemment, pas de moyen de savoir si le client a fermé son navigateur. C'est vrai ou j'ai loupé quelquechose ?
Bilan : avez-vous une solution pour gérer ça (faire en sorte de n'avoir qu'une connexion à la fois par client) ?
PS : en cherchant par le net, je n'ai remarqué qu'une solution : la méthode unload du javascipt. Des personnes qui disent que ça marche, d'autres non.
Donc j'ai toujours ça en dernier recours.
Arnaud DANEELS
Partager