【问题标题】:Local static variables in Timer.Tick event (Stopping a Timer)Timer.Tick 事件中的局部静态变量(停止计时器)
【发布时间】:2009-07-09 18:44:50
【问题描述】:

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

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

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

我的问题是,这行得通吗?

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

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

【问题讨论】:

    标签: asp.net vb.net static local


    【解决方案1】:

    不,它不会起作用。 VB.Net 中的Static 是一种语法糖,它以线程安全的方式在类级别隐藏一个隐藏的共享变量。由于共享类变量将同时为该页面的所有用户共享,因此这根本不会像您希望的那样工作。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      • 2018-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-02
      相关资源
      最近更新 更多