我想编写一个用户可以预定的Windows服务。例如,用户可以选择每天从上午9点到下午6点运行服务,或者可以在每晚12点开始运行,一直到第二天早上6点等。是否有任何现成的.NET API可以帮助我实现这一点?我知道我可以使用计划任务来完成此操作,但是否有任何以编程方式完成此操作的方法?
我想编写一个用户可以预定的Windows服务。例如,用户可以选择每天从上午9点到下午6点运行服务,或者可以在每晚12点开始运行,一直到第二天早上6点等。是否有任何现成的.NET API可以帮助我实现这一点?我知道我可以使用计划任务来完成此操作,但是否有任何以编程方式完成此操作的方法?
我实现了一些无人值守服务(使用c#编写的Windows服务),使用crontab算法来管理调度。这种模式非常强大和灵活。我们可以创建任何时间的计划,只需使用cron表达式即可。也许我错了,但我认为cron没有覆盖的唯一计划是如果我们想要月底最后一天,但这从未是所有服务的要求。
我从互联网上的一篇文章(Atif Aziz的开源文章)中复制了cron算法,并在我的实用类中实现,多年来一直运行良好。
在我的博客中查看更多详细信息: CronTab schedule parser algorithm
干杯!
罗伯托