是否有任何聪明的方法可以使我的executeEveryDayMethod()每天执行一次,而不必涉及Windows TaskScheduler?
更具体地说是here。
但是更好的解决方案(类似于较旧的CRON版本,因此是一种行之有效的模式)是拥有一些持久数据,而我可以想到的最便宜的解决方案是空白文件,检查其最后修改的属性,以及是否在您触摸并运行方法后的24小时内未进行任何修改。这样,您可以确保方法在应用程序离开周末时首先运行。
private void timer1_Tick(object sender, EventArgs e)
{
//ensure that it is running between 7-8pm daily.
if (DateTime.Now.Hour == 19)
{
RunJob();
}
}
声明DateTime
变量:
DateTime _DateLastRun;