servicestack,quartz-scheduler,quartz.net,C#,servicestack,Quartz Scheduler,Quartz.net" /> servicestack,quartz-scheduler,quartz.net,C#,servicestack,Quartz Scheduler,Quartz.net" />

C# 如何在ServiceStack中实现Quartz

C# 如何在ServiceStack中实现Quartz,c#,servicestack,quartz-scheduler,quartz.net,C#,servicestack,Quartz Scheduler,Quartz.net,我环顾四周,并没有找到一个可靠的,最新的参考使用石英(或任何类似的作业调度)与ServiceStack。我想做以下工作: 将Quartz或类似调度器作为服务运行(以避免IIS问题) 我们的项目使用ServiceStack,所以我想用它来熟悉IoC的模式,等等 以这种方式在Windows服务中使用ServiceStack和调度器有意义吗?有更好的安排吗?如果工作正常,如何在ServiceStack中运行Quartz 我脑子里有很多不完整的想法,但需要帮助制定一个有凝聚力的计划,因此非常感谢任何

我环顾四周,并没有找到一个可靠的,最新的参考使用石英(或任何类似的作业调度)与ServiceStack。我想做以下工作:

  • 将Quartz或类似调度器作为服务运行(以避免IIS问题)
  • 我们的项目使用ServiceStack,所以我想用它来熟悉IoC的模式,等等
以这种方式在Windows服务中使用ServiceStack和调度器有意义吗?有更好的安排吗?如果工作正常,如何在ServiceStack中运行Quartz


我脑子里有很多不完整的想法,但需要帮助制定一个有凝聚力的计划,因此非常感谢任何帮助。

一个伟大的工作调度程序是Hangfire()。我个人比石英更喜欢它


使用servicestack附带的现有IoC Funq容器注入Hangfire并不容易。但是看看这个

我在这里参加聚会有点晚了,但我的情况也一样。我想不出在自托管ServiceStack应用程序中实现Quartz调度程序是个坏主意的好理由

我很快创建了一个库,它将Quartz调度器与ServiceStack Funq IoC集成在一起,基本上允许您使用以下各项设置Quartz with ServiceStack:

//// This method scans the assembly for the Jobs
container.RegisterQuartzScheduler(typeof(HelloJob));

//// Resolve the Quartz Scheduler as normal
var scheduler = container.Resolve<IScheduler>();

//// Start Quartz Scheduler
scheduler.Start();
///此方法扫描程序集以查找作业
container.RegisterQuartzScheduler(typeof(HelloJob));
////正常解析Quartz计划程序
var scheduler=container.Resolve();
////启动石英调度器
scheduler.Start();
您将能够像平常一样使用Quartz调度程序

我在这里提供了一个如何使用它的示例:

NuGet在这里:

正如我所说,我在几个小时内做了这件事,看看它是否符合我的目的。如果你想修改它来做你想让它做的事情,请随意修改它


如果你感兴趣,我将在这里写一篇关于它的博文:

你可以使用“善意制造者”。

嘿,我也在考虑将我已经存在的调度程序服务移动到ServiceStack中。你试过这个吗?你是怎么做的?