Problème evenement / Fermeture navigateur / onbeforeunload

Onizukasan Messages postés 6 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 9 juillet 2007 - 9 juil. 2007 à 16:40
Vulkan51 Messages postés 10 Date d'inscription samedi 2 décembre 2006 Statut Membre Dernière intervention 16 juillet 2008 - 4 juil. 2008 à 10:57
Bonjour à tous.

Tout d'abord je travaille sous VisualStudio2003 / Framework .NET en version 1.

Voici mon problème:
Je dois pouvoir intercepter la fermeture des pages de mon application. Tout d'abord car je dois pouvoir mettre fin à la session de la personne qui ne se déconnecte pas à l'aide du lien prévu à cet effet et aussi car chaque utilisateur possède une connexion à une BDD. Je ne souhaite donc pas attendre le timeout.
J'ai beaucoup cherché et j'ai mis en place la solution suivante: utiliser l'evenement javascript onbeforeunload auquel on associe une méthode qui renvoie sur une page de deconnexion qui ne sert qu'à mettre fin à la session de l'utilisateur via un session.abandon() dans la méthodePage_Load(). Tout cela semblait parfait puisqu'en fermant une page l'evenement onbeforeload provoque l'envoi sur la page de deconnexion et ainsi la fin de la session et la fermeture de la connexion à la BDD. Or je me suis apercu que aléatoirement (par exemple lorsqu'on post une page ou que l'on navigue entre les pages) l'evenement onbeforeunload intervient et on se retrouve sur la page de deconnexion.
Voici donc mes questions :
Est-il possible d'intercepter la fermeture du navigateur ou de la page ?
Savez-vous si le comportement que je trouve aléatoire à une explication autre que celle de la loi de Murphy ?
Voyez-vous une autre solution qui me permettrai de ne pas attendre le timeout pour mettre fin à la session de l'utilisateur ?

En vous remerciant de m'avoir lu et en esperant avoir été clair, j'attends vos réponses.

1 réponse

Vulkan51 Messages postés 10 Date d'inscription samedi 2 décembre 2006 Statut Membre Dernière intervention 16 juillet 2008
4 juil. 2008 à 10:57
Bonjour, afin de ne pas polluer le forum, je poste ma question ici vu qu'il s'agit du meme probleme.

Je dois aussi fermer une session lors de la ferùeture du navigateur.

Le probleme est - comme l'a expliqué la personne ci dessus - que l'evenement onunload se produit non seulement a la fermeture mais aussi a chaque post back...

ma question est donc: comment peut-on executer une fonction (c#) a la fermeture du navigateur mais pas a un post back

merci d'avance si qqun connait la reponse....

j'ai parcouru google etc mais je n'ai trouvé que des solutions javascripts pr des pages html normales...
0
Rejoignez-nous