您好C#
中有 Windows服务。在我的Windows服务中,我需要在确定的时间运行一个过程hh:mm:ss。
例如,我需要在以下位置运行该过程:
(这些时间可以改变,所以我想把它们存储在XML文件中)
现在我曾经有一个间隔为6小时的计时器,因此每6个小时执行一次。现在要求是另一个。我需要按照特定的时间表运行。
此外,我还被要求添加一个选项,Windows服务可以每隔X小时和Y分钟运行一次。
任何线索如何编码?
感谢。
答案 0 :(得分:2)
另一个好方法是使用Quartz
<强> Quartz.NET 强>
Quartz.NET是一个功能齐全的开源作业调度系统 可用于从最小的应用程序到大型企业系统。Quartz中的作业调度
计划在发生给定触发器时运行作业。 几乎可以使用以下任意组合创建触发器 指令:
- 在一天中的某个时间(到毫秒)
- 在一周中的某些日子
- 在本月的某些日子里
- 在一年中的某些日子
- 不在注册日历(例如商务假期)中列出的特定日期
- 重复特定次数
- 重复直到特定时间/日期
- 无限期地重复
- 以延迟间隔重复
答案 1 :(得分:1)
为什么重新发明轮子?只需使用Windows任务计划程序即可运行您的流程。
如果要从代码中设置任务计划程序,可以使用Managed Task Scheduler Wrapper