2016-11-05 5 views
0

ich einen Fehler in dieser Zeile zu sagen:Quartz.NET Fehler kommt jedes Mal, wenn ich es verwenden

kann nicht implizit Typ ‚System.Threading.Tasks.Task‘ auf ‚Quartz.IScheduler‘ konvertieren. Es gibt eine explizite Konvertierung (fehlt Ihnen ein Cast?)

So lösen Sie es; Ich verstehe nicht? Bitte helfen Sie!

IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();

public static void Start() 
    { 
     try 
     { 
      //Construct scheduler factory 
      //IScheduler scheduler = schedulerFactory.GetScheduler(); 

      // IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler(); 

      IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler(); 
      scheduler.Start(); 

      IJobDetail job = JobBuilder.Create<HelloJob>() 
       .WithIdentity("jobName", "jobGroup") 
       .Build(); 

      ITrigger trigger = TriggerBuilder.Create() 
       .WithSimpleSchedule(s => s.WithIntervalInSeconds(60).RepeatForever()) 
       .StartNow() 
       .Build(); 

      scheduler.ScheduleJob(job, trigger); 

      // scheduler.Start(); 

     } 

     catch (SchedulerException se) 
     { 
      //Console.WriteLine(se); 
     } 
    } 
} 

public class HelloJob : IJob 
{ 
    private TBPESContext db = new TBPESContext(); 
    public void Execute(IJobExecutionContext context) 
    { 
     var AuthorName = from twitterAccount in db.Twitter_Account 
         from c in twitterAccount.Courses 
         select twitterAccount.Author_Name; 

     foreach (var item in AuthorName) 
     { 
      TweetCrawler.SaveTweets(item); 
     } 


     throw new NotImplementedException(); 
    } 
} 
+0

haben Sie versucht: 'ISchedulerFactory schedulerFactory = new StdSchedulerFactory(); Scheduler = SchedulerFactory.GetScheduler(); ' – Rabban

+0

Ist es möglich, dass Sie eine andere Klasse namens StdSchedulerFactory haben, die eine Methode namens GetDefaultScheduler hat, die eine Aufgabe zurückgibt? Wenn ja, versuchen Sie 'IScheduler scheduler = Quartz.Impl.StdSchedulerFactoryy.GetDefaultScheduler();' – sgmoore

Antwort

1

Ich lief in das gleiche Problem. Als ich Quarz von Manage NuGet Packages geladen habe, gab es mir Version: 3.0.0-alpha2 (Prerelease). Dies verursachte den Fehler, den Sie gerade sehen. Ich fand eine frühere Version unter https://www.nuget.org/packages/Quartz/2.3.3 folgte den Anweisungen, um es zu installieren, baute mein Programm um und es funktionierte wie es sollte.

Verwandte Themen