global.asaxファイルのキャッシュに格納されているアプリケーション レベルの変数があります。
void Application_Start(object sender, EventArgs e)
{
Application.Lock();
List<MyClassName> myobjects = new List<MyClassName>();
HttpContext.Current.Cache["List"] = myobjects;
Application.UnLock();
}
そして、私はそれにアクセスして、ページで変更します:
protected void Page_Load(object sender, EventArgs e)
{
List<MyClassName> myobjects = (List<MyClassname>)HttpContext.Current.Cache["List"];
//change myobjects...
HttpContext.Current.Cache["List"] = myobjects;
}
質問: *このサイトを同時に実行している 2 人のユーザー (ブラウザー) がいるとします (たとえば、チャット中)。あるユーザーがmyobjects変数を変更したときに別のユーザーに通知する方法は?*
myobjects をチェックし、タイマーを使用して定期的にこれを古いものと比較することができます。しかし、それは最善の方法ではありません。
グローバル変数が変更されたときに別のユーザーに通知するより良い方法はありますか?