向Quartz.NET Windows服务动态添加和删除作业

dis*_*kid 8 c# windows-services job-scheduling winforms quartz.net

我正在开发电子邮件营销WinForm应用程序.为了安排活动,我决定使用Quartz.NET.我需要它作为Windows服务运行.但我也希望用户能够通过该程序向服务添加一个作业(例如,需要每天早上8点运行的活动,基本上运行.bat文件).

我还保存了数据库中的所有作业计划,这样当您停止/启动操作系统或Windows服务时,它仍然可以从所有需要运行的作业中读取.

如何在服务运行时向服务添加作业?当然更优选的是向服务动态添加/删除作业.坦率地说,停止服务并从数据库中再次读取所有作业是我的最后手段.

Lef*_*tyX 9

您可以将Quartz.Net安装为Windows服务并将其配置为使用AdoJobStore.
您的WinForm应用程序将是您可以添加,暂停和删除作业和触发器的界面.

windows services在你这样做的时候,你不必停下来.

您无需读取数据库即可了解Quartz中发生的情况,但您必须使用提供的API.

我很久以前就做过类似的事了.我的quartz.net"manager"是一个Web应用程序.

你可以在这里阅读我的答案.

我想要做你正在寻找的几乎相同的步骤.

可以在这里这里找到Quartz.net样本和免费书籍的参考.

  • 谢谢!只有通过其他博客我才意识到你可以将Quartz.NET安装为Windows服务.我想这是一种典型的方法,当您想要安排作业运行时,无论您的主应用程序如何.为什么在Quartz.NET官方网站上没有提到这个选项? (2认同)