【发布时间】:2009-07-09 18:44:50
【问题描述】:
我在 ASP.NET 的页面上有一个计时器。
经过一段时间后,我想禁用计时器。
我想在计时器滴答事件中放置一个静态变量,该变量将跟踪经过了多少秒。
我的问题是,这行得通吗?
如果用户 X 和 Y 正在查看页面,他们是否都有单独的局部静态变量?
在经过一定时间后关闭 ASP.NET 计时器的最佳方法是什么?
【问题讨论】:
标签: asp.net vb.net static local
我在 ASP.NET 的页面上有一个计时器。
经过一段时间后,我想禁用计时器。
我想在计时器滴答事件中放置一个静态变量,该变量将跟踪经过了多少秒。
我的问题是,这行得通吗?
如果用户 X 和 Y 正在查看页面,他们是否都有单独的局部静态变量?
在经过一定时间后关闭 ASP.NET 计时器的最佳方法是什么?
【问题讨论】:
标签: asp.net vb.net static local
不,它不会起作用。 VB.Net 中的Static 是一种语法糖,它以线程安全的方式在类级别隐藏一个隐藏的共享变量。由于共享类变量将同时为该页面的所有用户共享,因此这根本不会像您希望的那样工作。
相反,将您的日期时间字段存储在会话中并检查它。还要记住,计时器本身是在客户端上运行的(假设您使用的是 ajax 计时器控件)。所以禁用它的唯一方法是在服务器事件期间,例如当您的 Tick 事件触发时。
【讨论】: