扫码阅读
手机扫码阅读

震惊!Windows Service服务和定时任务框架quartz之间原来是这种关系……

95 2025-03-20

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:震惊!Windows Service服务和定时任务框架quartz之间原来是这种关系……
文章来源:
熊泽有话说
扫码关注公众号

摘要

在项目开发完成后,需要添加一个补丁以纠正数据同步逻辑的疏忽。补丁提供两个入口:一是点击更新按钮同步数据,二是每天晚上18:00自动执行同步。

Windows服务

Windows服务开发环境基于Windows 7和VS2017,使用C#.NET和.NET Framework 4.6.1。创建服务"MyWindowsService"的过程包括:重命名Service1.cs为MyWindowsService.cs,添加安装程序,配置serviceInstaller和serviceProcessInstaller属性,编写服务启动和停止逻辑。

代码实现了一个单例模式的类,控制服务的启动,并在符合条件的时间内执行数据同步逻辑。完成后的服务可以通过安装脚本进行安装、启动、停止和卸载。

服务的优点是可以自动在指定时间执行逻辑,但缺点是会在设定时间内无限循环执行,可能会消耗资源。

Quartz定时任务

Quartz定时任务开发环境与Windows服务相同。创建Quartz定时任务涉及安装Quartz框架,创建执行类TestJob实现IJob接口,以及在Program.cs中配置调度作业和触发器。

作业调度池创建、配置触发器、作业加入调度池和服务启动的步骤被详细说明。SimpleTrigger和CronTrigger触发器的使用被分别解释,包含实例和Cron表达式的详细说明。

Quartz的优势是灵活性和强大的表达式,但如果部署在IIS上,存在被回收的问题。结合Windows服务使用可以避免这一问题。

总结

文章介绍了两种不同的定时执行逻辑的方法:Windows Service和Quartz定时任务框架。各自有优缺点,可以单独使用或结合使用,具体选择取决于项目需求。

想要了解更多内容?

查看原文:震惊!Windows Service服务和定时任务框架quartz之间原来是这种关系……
文章来源:
熊泽有话说
扫码关注公众号