在特定时间运行C#代码

时间:2011-09-21 06:46:33

标签: c# .net timer

  

可能重复:
  C# Execute function at specific time

我想在某个时间运行某些功能。我试过Timer控件。它不起作用。我的问题是:如何在C#每天19:00运行一个函数? 有没有办法检查时间并有一个​​Timer对象?

计时器代码:

int Interval(TimeSpan gorevZamani)
{
    if ((gorevZamani - DateTime.Now.TimeOfDay).TotalMilliseconds > 0.0)
        return (int)(gorevZamani - DateTime.Now.TimeOfDay).TotalMilliseconds;
    else
        return (int)((gorevZamani - DateTime.Now.TimeOfDay).Add(TimeSpan.FromDays(1)).TotalMilliseconds);
}

2 个答案:

答案 0 :(得分:1)

使用计划任务。执行此操作的一种好方法是at命令,记录在MSDN here上。

答案 1 :(得分:1)

问题集中的

可能重复:C# Execute function at specific time人建议使用Quartz.NET或Windows任务计划程序。

这两个选项最终都可以实现这个目的,但我相信,正如我在类似的先前问题中已经提出过几次,Windows任务计划程序更好,因为你没有为它编写任何代码,让Windows为你做日程安排,你只专注于应用程序的真实业务案例,这是Windows无法为您做的事情,然后依靠现有技术将事物粘合在一起,无需调试或重新发明已完成的工作并且无论如何都可以使用。