我已经设计了我的Windows服务,其中包含许多任务(每个xxx秒运行相同的逻辑),但对于我必须执行的新任务:
我希望我能为您提供所有需要的信息。
祝你好运
Bratom
答案 0 :(得分:2)
如果您需要一个调度库,我会推荐Quartz.Net,我在不同的项目中使用了{{3}}。
答案 1 :(得分:2)
我知道您正在寻找代码,但是当我们需要完成我们的服务的日常任务时,我们构建服务并将其执行留给操作系统。
只需在启动服务的.bat文件中抛出一行代码,并安排该批处理文件在特定时间运行。
答案 2 :(得分:2)
在特定时间做某事与定期做某事并无太大差别。
假设你想在未来某个时候做点什么。我们称之为targetDate
。
DateTime targetDate = GetActionTime(); // whatever
// compute the difference between targetDate and now.
// we use UTC so that automatic time changes (like daylight savings) don't affect it
TimeSpan delayTime = targetDate.ToUniversalTime() - DateTime.UtcNow;
// Now create a timer that waits that long ...
Timer t = new Timer(TimerProc, null, delayTime, TimeSpan.FromMilliseconds(-1));
该计时器将触发一次回调。如果您希望每天在同一时间重复,您可以将目标日期(或者可能是对描述整个事件的记录的引用)传递给计时器proc,并让计时器proc更新目标日期然后调用Timer.Change
更改计时器的截止时间。请务必将周期设置为-1毫秒,以防止它成为周期性计时器。
答案 3 :(得分:0)
你需要c#中的Cron实现,试试这个:http://www.raboof.com/Projects/NCrontab/或http://sourceforge.net/projects/cronnet/