Timer.Tick事件中的本地静态变量(停止计时器)

时间:2009-07-09 18:44:50

标签: asp.net vb.net static local

我在ASP.NET的页面上有一个计时器。

经过一段时间后,我想禁用计时器。

我想在定时器tick事件中放置一个静态变量,该事件将跟踪已经过了多少秒。

我的问题是,这会有效吗?

如果用户X和Y正在查看页面,它们是否都有单独的本地静态变量?

在经过一段时间后关闭ASP.NET计时器的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

不,它不会起作用。 VB.Net中的Static是语法糖,它以线程安全的方式隐藏类级别的隐藏共享变量。由于共享类变量将同时为该页面的所有用户共享,因此根本无法实现这一点。

相反,请将您的日期时间字段存储在会话中并进行检查。还记得计时器本身在客户端上运行(假设你正在使用ajax计时器控件)。因此,禁用它的唯一方法是在服务器事件期间,例如当您的Tick事件触发时。