0

ASP.NETのページにタイマーがあります。

一定時間が経過したら、タイマーを無効にしたい。

経過した秒数を追跡する静的変数をタイマーティックイベントに入れたいと思います。

私の質問は、これは機能しますか?

ユーザーXとYがページを表示している場合、両方に個別のローカル静的変数がありますか?

特定の経過時間後にASP.NETタイマーをシャットダウンする最良の方法は何ですか?

4

1 に答える 1

1

いいえ、機能しません。 StaticVB.Netの糖衣構文は、スレッドセーフな方法でクラスレベルで非表示の共有変数を非表示にします。共有クラス変数は、そのページのすべてのユーザーに対して一度に共有されるため、これは期待どおりには機能しません。

代わりに、日時フィールドをセッションに保存して確認してください。また、タイマー自体がクライアントで実行されていることを忘れないでください(ajaxタイマーコントロールを使用していると仮定します)。したがって、これを無効にする唯一の方法は、Tickイベントが発生したときなどのサーバーイベント中です。

于 2009-07-09T18:50:05.573 に答える