c# - Timer.Interval 也是第一次运行函数

标签 c# .net timer windows-services intervals

我创建了一个 Windows 服务,我需要每天在其中执行任务。所以为了实现这一点,我使用了 Timer 控件。

Timer tm = new Timer();
tm.Elapsed += new ElapsedEventHandler(OnElapsedTime);
tm.Interval = 86400000;

但这里的问题是,在我启动服务后,我必须等待整整 1 天才能真正调用该函数。

那么有没有一种方法可以在我启动服务时调用该函数,而不必等到间隔时间结束?

提前致谢。

最佳答案

您可以先运行该方法,然后再启动计时器。所以它将进行第一次运行,计时器将在第二天再次运行。

或者创建简单的控制台应用程序来完成任务。只需使用 Windows 计划任务,您就可以每天运行此 exe

另一个选项是在启动计时器后立即调用事件

How to fire timer.Elapsed event immediately

关于c# - Timer.Interval 也是第一次运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16869772/

相关文章:

c++实现时钟来测量执行时间

javascript - setInterval 和 setTimeout 不匹配

c# - 选择最大年龄 C#

c# - C# 中的通用值相等(标识)

c# - 如何在 IE 已从登录保护的 Intranet 打开的 Office 文档中启用编辑?

c# - 以编程方式设置 MaxItemsInObjectGraph

c# - 虽然想要创建 SIFTDetector : Get an Attempted to read or write protected memory exception Error 的实例

java - 从单独的方法关闭计时器

c# - 我怎样才能更好地设计这个? (避免使用面向对象设计的 switch 语句)

c# - 将 GridView 导出到 excel #2