我以前从未写过Windows服务或任何调度程序,所以我无法弄清楚要做什么。
我需要编写一个Windows服务。我的数据库中有一个报告表,我需要每天检查它以查看是否添加了新报告。报告有接收者和时间设置,例如每月15日14:00,或每天12:35或周三13:00每周。我需要在这些时间发送包含一些报告的电子邮件。
正如我已经决定的那样,我将使用Quartz.NET。但有一些我不明白的事情。所以我想我会有两份工作。一个用于每天检查数据库,以查看是否有用户想要的新报告。当我收到它们时,我会根据数据库中的时间用新的触发器创建新的不同数量的作业?我是否在第一次日常检查的工作中创建了新的触发器?我不明白。
例如,当更新或删除一个报告的时间时,是否需要从调度程序中删除作业和触发器?我很感激帮助。我正在使用VS 2015和C#。
当我进行Windows服务时,我只是发起了我写过的Quartz这个东西?对不起,我无法理解到目前为止我所读到的内容。
答案 0 :(得分:0)
我会在Quartz.net上推荐Hangfire IO http://hangfire.io/
这是一种更为现代化的预定工作方式。过去我也使用过Quartz.net。首先,使用hangfire不需要任何服务。作业是持久的,内置重试。语法也更容易。
答案 1 :(得分:0)
我使用了篝火,它非常简单。
但是,到目前为止,Hangfire不支持Oracle数据库。此外,Quartz在日程安排方面提供了更大的灵活性(日历,结束日期等)。