c# - 服务器端的计时器?

标签 c# .net asp.net timer

我希望有一个计时器每 10 秒更新一次全局变量,因此我在 Global.asax.cs 中放置了一个计时器:

void Application_Start(object sender, EventArgs e)
{
    Timer aTimer = new Timer();
    aTimer.Interval = 10*1000;
    aTimer.Tick += aTimer_Tick;            
    aTimer.Start();
}

void aTimer_Tick(object sender, EventArgs e)
{
    // Update Data
}

但奇怪的是 10 秒后什么也没有发生。我想知道是否可以这样做?

提前致谢。

最佳答案

使用System.Timers.Timer而不是System.Windows.Forms.Timer

前者使用 Elasped 作为事件处理程序,并且几乎可以在应用程序中的任何位置按预期运行。后者是为 winforms 定制的,应该在 Form1_Load() 上使用,而不是在应用程序启动时使用。

关于c# - 服务器端的计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5623817/

相关文章:

c# - LINQ 从第一个列表中选择

c# - 如何使用泛型类型参数获取类的所有属性

c# - 任何好的 Winforms 向导库?

asp.net - 使用 & 符号的简单 VB

javascript - 当管理员单击菜单时,如何在管理仪表板的颜色区域中激活背景颜色,它会进入默认设置的背景颜色

c# - 主机与 DnsSafeHost

框架 4.5 中的 c# ReadAsJsonAsync

c# - HtmlAgilityPack 选择的子节点不符合预期

c# - Process.Kill() 和进程事件

c# - 在 C'# 中以编程方式获取所有 TFS 分支