我以这种方式使用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
类中添加一个属性。就像是:public class ClearCacheJob : IJob
{
public ISomeService {get; set;}
public void Execute(IJobExecutionContext context)
{
//do stuff
}
}
如何设置
SomeService
? 最佳答案
斯图尔特的评论是当场的。您需要实现自己的工作工厂。我在这里写了一篇博客文章来描述该过程:http://jayvilalta.com/blog//2012/07/23/creating-a-custom-quartz-net-jobfactory/
就DI容器而言,也支持Castle。进行search on NuGet for Quartz.Net并滚动浏览列表。您会看到城堡,结构图,ninject,autofac等。
关于c# - Quartz.NET在工作中注入(inject)属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32393009/