如何在后台连续运行ac#console应用程序

我想知道如何每隔五分钟增量在后台运行ac#程序。 下面的代码不是我想作为后台进程运行的,而是想找到使用此代码执行此操作的最佳方法,以便我可以在另一个代码上实现它。 所以这个过程应该在五分钟后增加。 我知道我可以使用线程这样做,但现在真的不知道如何实现它。 我知道这是最好的方法如何在系统启动时运行控制台应用程序,而不显示它(后台进程)? 这是在后台运行,但我怎么能以五分钟为增量运行代码

class Program { static void Main(string[] args) { Console.Write("hellow world"); Console.ReadLine(); } } 

为什么不使用Windows任务计划程序 ?

将其设置为以所需的时间间隔运行您的应用程序。 它非常适合这种工作,你不必为强迫线程睡眠而烦恼,这可能会产生更多的问题。

这个应用程序应该连续运行,每5分钟发一条消息。
这不是你想要的吗?

 class Program { static void Main(string[] args) { while (true) { Console.Write("hellow world"); System.Threading.Thread.Sleep(1000 * 60 * 5); // Sleep for 5 minutes } } } 

可能每X分钟“触发”一个新进程的最简单方法是使用Windows任务计划程序 。

您当然可以通过编程方式执行类似的操作,例如创建自己的服务,每隔X分钟启动一次控制台应用程序。


所有这些假设您实际上想要在下一次迭代之前关闭应用程序。 或者,您可以一直保持活动状态。 您可以使用其中一个计时器类定期触发事件,甚至可以在非常简化的场景中使用Thread.Sleep ….

如何使用System.Windows.Threading.DispatcherTimer ?

 class Program { static void Main(string[] args) { DispatcherTimer timer = new DispatcherTimer(); timer.Interval = new TimeSpan(0, 5, 0); // sets it to 5 minutes timer.Tick += new EventHandler(timer_Tick); timer.Start(); } static void timer_Tick(object sender, EventArgs e) { // whatever you want to happen every 5 minutes } }