C# 在特定时间运行进程的最佳方式
嗨,我在C# 在特定时间运行进程的最佳方式,c#,service,C#,Service,嗨,我在C#中有一个Windows服务。在我的windows服务中,我需要在确定的时间内运行进程hh:mm:ss 例如,我需要在以下位置运行流程: 09:50 11时45分 15:15小时 22时05分 (这些时间可能会改变,所以我考虑将它们存储在XML文件中) 现在我曾经有一个间隔为6小时的计时器,所以每6小时执行一次进程。现在的要求是另一个。我需要按照特定的时间表跑步 另外,我还被要求添加一个选项,windows服务可以每X小时和Y分钟运行一次进程 有什么线索我该怎么编码 谢谢。为什么要
C#
中有一个Windows服务。在我的windows服务中,我需要在确定的时间内运行进程hh:mm:ss
例如,我需要在以下位置运行流程:
- 09:50
- 11时45分
- 15:15小时
- 22时05分
谢谢。为什么要重新发明轮子?只需使用Windows任务计划程序运行您的进程
如果要从代码中设置任务调度程序,可以使用 Quartz.NET
Quartz.NET是一个功能齐全、开源的作业调度系统 可以从最小的应用程序到大型企业系统使用 石英中的作业调度
作业计划在给定触发器发生时运行。 触发器几乎可以通过以下任意组合创建 指令:
- 在一天中的某个时间(毫秒)
- 在一周中的某些日子
- 在一个月的某些日子
- 在一年中的某些日子
- 不在注册日历中列出的特定日期(如商务假期)
- 重复特定次数
- 重复到特定的时间/日期
- 无限期地重复
- 以延迟间隔重复
你在这里寻找什么样的答案?除了“使用计时器”还有什么别的吗?我想知道检查这些特定时间的最佳方法。我在考虑将计时器设置为1秒的间隔,然后验证小时是否为机器小时,然后执行它。这听起来是个不错的计划。你能不能不使用调度程序来执行windows服务。。如果不是,则使用一个.config文件,该文件包含要运行程序的小时数的字符串数组。您是否关心不同权限提供的系统时间更改,例如夏令时?石英(如Reza所建议的)可以帮助解决这个问题。闰秒可能是另一个问题。(.)也来推荐这个。