Quartz.Net IoC Unity DI

488
04 июля 2017, 19:59

Есть класс IJob

public class MyJob : IJob
 {
   private IAService _aService { get; set; }
   public void Execute(IJobExecutionContext context){
     var hello = _aService.getHello();
     Debug.WriteLine(hello);
   }
  }

Есть метод который эту работу запускает (установлен так же пакет Quartz.Unity)

public static void Start(IUnityContainer container)
{
 container.RegisterType<IAService, AService>(new HierarchicalLifetimeManager());
 container.AddNewExtension<QuartzUnityExtension>();
 var scheduler = container.Resolve<IScheduler>();
 var job = JobBuilder.Create<MyJob>().Build();
            var trigger = TriggerBuilder.Create()
                .WithIdentity("t1", "g1")
                .StartNow()
                .WithSimpleSchedule(x => x
                    .WithIntervalInSeconds(10) 
                    .RepeatForever())
                .Build();
            scheduler.ScheduleJob(job, trigger);
            scheduler.Start();
}

Проблема в том, что IAService _aService так и не резолвится внутри Myjob и остается null.

Так же пробовал в класс работы добавлять конструктор с инекцией

 public ExpertImportLastChangesJob(IAService aService)
        {
            _aService = aService;
        }

, но результат прежний.

READ ALSO
Как поменять line endings в Visual Studio 2017 (русская версия)?

Как поменять line endings в Visual Studio 2017 (русская версия)?

Скачала Unity, пишу скрипт на C# в вижуалке, но возникает проблема inconsistent line endings

424
Помогите пожалуйста с таймером С#

Помогите пожалуйста с таймером С#

Решил создать таймер с диалоговым окном об окончании времениМысль заключается в том, чтобы спустя час, выводилось диалоговое окно о том,...

200
Dictionary and custom pair [дубликат]

Dictionary and custom pair [дубликат]

На данный вопрос уже ответили:

212