ASP.NETのページにタイマーがあります。
一定時間が経過したら、タイマーを無効にしたい。
経過した秒数を追跡する静的変数をタイマーティックイベントに入れたいと思います。
私の質問は、これは機能しますか?
ユーザーXとYがページを表示している場合、両方に個別のローカル静的変数がありますか?
特定の経過時間後にASP.NETタイマーをシャットダウンする最良の方法は何ですか?
いいえ、機能しません。 Static
VB.Netの糖衣構文は、スレッドセーフな方法でクラスレベルで非表示の共有変数を非表示にします。共有クラス変数は、そのページのすべてのユーザーに対して一度に共有されるため、これは期待どおりには機能しません。
代わりに、日時フィールドをセッションに保存して確認してください。また、タイマー自体がクライアントで実行されていることを忘れないでください(ajaxタイマーコントロールを使用していると仮定します)。したがって、これを無効にする唯一の方法は、Tickイベントが発生したときなどのサーバーイベント中です。