ASP.NET 2.0(C#)でWebアプリを開発しています。問題を解決するのに問題があります。
アプリケーションはユーザーをオンラインで表示する必要があり、管理者のみがユーザー名を表示する必要があります。Application []オブジェクトを使用してusermameとcountを保存し、Globall.asaxファイルに値を設定しています。
次のコードでは、カウンターに関連するセクションを示します。
protected void Application_Start(object sender, EventArgs e){
Application["OnlineCounter"] = 0;
}
protected void Session_Start(Object sender, EventArgs e){
// Code that runs when a new session is started
if (Application["OnlineCounter"] != null){
Application.Lock();
Application["OnlineCounter"] = ((int)Application["OnlineCounter"]) + 1;
Application.UnLock();
}
}
protected void Session_End(Object sender, EventArgs e){
// Code that runs when a new session is started
if (Application["OnlineCounter"] != null){
Application.Lock();
Application["OnlineCounter"] = ((int)Application["OnlineCounter"]) - 1;
Application.UnLock();
}
}
ローカルマシンでこのコードを使用すると、オンラインユーザーを正しくカウントできます。代わりに、このコードをサーバー(Windows 2003 ServerおよびIIS6)で公開すると、次の問題が見つかりました。3人の異なるユーザー(異なるブラウザーを使用)で自分のマシンからアクセスすると、1つのページに1人のユーザーしか表示されません(各ブラウザーで)オンラインユーザーは1人だけです)!
これにはいくつかの問題がありますか?任意の提案をいただければ幸いです。ありがとう