я использую Quartz.NET таким образом: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
?
Вам нужно либо пользовательские 'IJobFactory', или если вы используете DI контейнер, один из которых имеет библиотеку расширения, которая устанавливает все, что для вас. Ninject и StructureMap приходят на ум. –