Salut à tous,
Je cherche quelqu'un qui puisse m'indiquer mon erreur.
Alors j'ai une application asp.net en C#.
Je cherche à compter combien d'utilisateur sont sur le site actuellement. Donc pour cela j'utilise le Global.asax
voici mon code :
protected void Application_Start(Object sender, EventArgs e)
{
Application["nbUser"] = 0;
}
protected void Session_Start(Object sender, EventArgs e)
{
Application.Lock();
Application["nbUser"] = Convert.ToInt32(Application["nbUser"]) + 1;
Application.UnLock();
}
protected void Session_End(Object sender, EventArgs e)
{
Application.Lock();
Application["nbUser"] = Convert.ToInt32(Application["nbUser"]) - 1;
Application.UnLock();
}
Coté WinForm, j'ai dans la methode Load :
Response.Write(Application["nbUser"]);
Donc quand j'exécute l'application, j'ai une première page qui affiche 1.
J'ouvre donc une autre page et il m'affiche 2 (normal car c'est une deuxième session).
Mais mon problème c'est que dans la première page, il faut que je rafraichisse la page pour qu'il affiche 2.
Donc je voudrais savoir si quelqu'un aurai une solution ou tout simplement me donner des petits tips :) pour me permettre d'effectuer des recherches.
Et j'ai un autre problème, c'est que lorsque je ferme une fenetre dans l'autre fenetre le chiffre reste à 2. Et ceci meme en réactualisant la fenetre.
Merci pour m'aider.
Manu