石英.. NET在作业中注入属性
本文关键字:注入 属性 作业 NET 石英 | 更新日期: 2023-09-27 18:11:20
我用石英。. 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
类添加一个属性。比如:
public class ClearCacheJob : IJob
{
public ISomeService {get; set;}
public void Execute(IJobExecutionContext context)
{
//do stuff
}
}
如何设置SomeService
Stuart的评论完全正确。您需要实现自己的作业工厂。我已经写了一篇博文来描述这个过程:http://jayvilalta.com/blog//2012/07/23/creating-a-custom-quartz-net-jobfactory/
就DI容器而言,Castle也是受支持的。在NuGet上搜索一下Quartz。然后滚动列表。你会看到城堡,structuremap, ninject, autoface等
我知道我迟到了,但我也写了一篇博客文章,其中包含了使用Ninject的完整工作示例。
罢工罢工<> http://codein60seconds.blogspot.com/2015/08/quartz-with-ninject-dependency-injection.html
示例的源代码可以在这里找到:
罢工罢工<> https://github.com/cknightdevelopment/CodeIn60Seconds/tree/master/DotNet/QuartzWithNinject
谢谢。
编辑
博客文章现在在这里:
http://knightcodes.com/.net/2016/08/15/dependency-injection-for-quartz-net.html源代码在这里:
https://github.com/cknightdevelopment/KnightCodesExamples/tree/master/DotNet/Quartz.Ninject和YouTube视频:
https://www.youtube.com/watch?v=RlW4vUsoxEY