Search code examples
c#windows-servicesquartz

cannot implicitly convert type 'System.Threading.tasks.task<Quartz.Scheduler> to <Quartz.IScheduler>


public void Start()
    {

        ISchedulerFactory schedFact = new  StdSchedulerFactory();

        IScheduler sched = schedFact.GetScheduler();
        sched.Start();

        IJobDetail job = JobBuilder.Create<EmailJob>()
            .Build();

        ITrigger trigger = TriggerBuilder.Create()
          .StartNow()
          .WithSimpleSchedule(x => x

              .WithIntervalInHours(48)
              .RepeatForever())
          .Build();

        sched.ScheduleJob(job, trigger);
    }

I'm getting error in IScheduler sched = schedFact.GetScheduler();

It says

"cannot implicitly convert type System.Threading.tasks.task Quartz.Scheduler to Quartz.IScheduler"


Solution

  • schedFact.GetScheduler(); returns Task You should use the following code to get IScheduler object:

    IScheduler sched = schedFact.GetScheduler().GetAwaiter().GetResult();