我搜索了SO并找到了关于Quartz.net的答案.但它似乎对我的项目来说太大了.我想要一个等效的解决方案,但更简单和(最好)代码内(不需要外部库).如何在特定时间每天调用一种方法?
我需要添加一些关于此的信息:
我想要一种更有效的方法来做到这一点,不需要经常检查时间,并且我可以控制是否完成了工作.如果方法失败(由于任何问题),程序应该知道写入日志/发送电子邮件.这就是我需要调用方法而不是安排工作的原因.
我发现这个解决方案在Java中用Java定时调用一个方法.在C#中是否有类似的方式?
编辑:我做到了这一点.我在void Main()中添加了一个参数,并创建了一个bat(由Windows Task Scheduler安排)以使用此参数运行程序.程序运行,完成工作,然后退出.如果作业失败,则能够写入日志和发送电子邮件.这种方法很符合我的要求:)
简而言之,
我早上开始运行我的C#程序,程序应该在下午5:45向用户显示一条消息.我怎么能在C#中做到这一点?
编辑:我问过这个问题因为我认为使用计时器不是最好的解决方案(定期比较当前时间和运行任务所需的时间):
private void timerDoWork_Tick(object sender, EventArgs e)
{
if (DateTime.Now >= _timeToDoWork)
{
MessageBox.Show("Time to go home!");
timerDoWork.Enabled = false;
}
}
Run Code Online (Sandbox Code Playgroud)