Quartz.NET 在作业中注入 属性
Quartz.NET inject property in a job
我这样使用Quartz.NET:
ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
IScheduler scheduler = schedulerFactory.GetScheduler();
scheduler.Start();
IJobDetail clearCacheJob = JobBuilder.Create<ClearCacheJob>()
.WithIdentity("ClearCacheJob", "CacheGroup")
.Build();
scheduler.ScheduleJob(clearCacheJob, buildTrigger(cacheCronExpr));
ClearCacheJob
是实现 IJob
的 class
有效,但现在我想在 ClearCacheJob
class 中添加一个 属性。类似于:
public class ClearCacheJob : IJob
{
public ISomeService {get; set;}
public void Execute(IJobExecutionContext context)
{
//do stuff
}
}
如何设置SomeService
?
Stuart 的评论很到位。您需要实施自己的工作工厂。我写了一篇博客 post 在这里描述这个过程:http://jayvilalta.com/blog//2012/07/23/creating-a-custom-quartz-net-jobfactory/
就 DI 容器而言,也支持 Castle。执行 search on NuGet for Quartz.Net 并滚动列表。你会看到城堡、结构图、ninject、autofac 等
我知道我迟到了,但我还写了一篇博客 post,其中包含使用 Ninject 的完整工作示例。博客 post 可以在这里找到:
http://codein60seconds.blogspot.com/2015/08/quartz-with-ninject-dependency-injection.html
示例的源代码可以在这里找到:
https://github.com/cknightdevelopment/CodeIn60Seconds/tree/master/DotNet/QuartzWithNinject
谢谢。
编辑
博客 post 现已发布:
http://knightcodes.com/.net/2016/08/15/dependency-injection-for-quartz-net.html
源代码在这里:
https://github.com/cknightdevelopment/KnightCodesExamples/tree/master/DotNet/Quartz.Ninject
以及此处的 YouTube 视频:
我这样使用Quartz.NET:
ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
IScheduler scheduler = schedulerFactory.GetScheduler();
scheduler.Start();
IJobDetail clearCacheJob = JobBuilder.Create<ClearCacheJob>()
.WithIdentity("ClearCacheJob", "CacheGroup")
.Build();
scheduler.ScheduleJob(clearCacheJob, buildTrigger(cacheCronExpr));
ClearCacheJob
是实现 IJob
有效,但现在我想在 ClearCacheJob
class 中添加一个 属性。类似于:
public class ClearCacheJob : IJob
{
public ISomeService {get; set;}
public void Execute(IJobExecutionContext context)
{
//do stuff
}
}
如何设置SomeService
?
Stuart 的评论很到位。您需要实施自己的工作工厂。我写了一篇博客 post 在这里描述这个过程:http://jayvilalta.com/blog//2012/07/23/creating-a-custom-quartz-net-jobfactory/
就 DI 容器而言,也支持 Castle。执行 search on NuGet for Quartz.Net 并滚动列表。你会看到城堡、结构图、ninject、autofac 等
我知道我迟到了,但我还写了一篇博客 post,其中包含使用 Ninject 的完整工作示例。博客 post 可以在这里找到:
http://codein60seconds.blogspot.com/2015/08/quartz-with-ninject-dependency-injection.html
示例的源代码可以在这里找到:
https://github.com/cknightdevelopment/CodeIn60Seconds/tree/master/DotNet/QuartzWithNinject
谢谢。
编辑
博客 post 现已发布:
http://knightcodes.com/.net/2016/08/15/dependency-injection-for-quartz-net.html
源代码在这里:
https://github.com/cknightdevelopment/KnightCodesExamples/tree/master/DotNet/Quartz.Ninject
以及此处的 YouTube 视频: