c# – 使用ScheduleJobs调用计划
发布时间:2020-12-16 01:58:50 所属栏目:百科 来源:网络整理
导读:我一直试图弄清楚如何在Quartz.Net中调用ScheduleJobs方法,但努力创建它所期望的正确参数. 这是我尝试过的: IJobDetail jobDetail = JobBuilder.CreateReportJob() .WithIdentity("theJob") .Build();ITrigger everydayTrigger = TriggerBuilder.Create() .
我一直试图弄清楚如何在Quartz.Net中调用ScheduleJobs方法,但努力创建它所期望的正确参数.
这是我尝试过的: IJobDetail jobDetail = JobBuilder.Create<ReportJob>() .WithIdentity("theJob") .Build(); ITrigger everydayTrigger = TriggerBuilder.Create() .WithIdentity("everydayTrigger") // fires .WithCronSchedule("0 0 12 1/1 * ?") // start immediately .StartAt(DateBuilder.DateOf(DateTime.Now.Hour,DateTime.Now.Minute,DateTime.Now.Second,DateTime.Now.Day,DateTime.Now.Month,DateTime.Now.Year)) .Build(); ITrigger yearlyTrigger = TriggerBuilder.Create() .WithIdentity("yearlyTrigger") // fires .WithCronSchedule("0 0 12 1 1 ? *") // start immediately .StartAt(DateBuilder.DateOf(DateTime.Now.Hour,DateTime.Now.Year)) .Build(); var dictionary = new Dictionary<IJobDetail,ISet<ITrigger>>(); dictionary.Add(jobDetail,new HashSet<ITrigger>() { everydayTrigger,yearlyTrigger }); sched.ScheduleJobs((dictionary,true); // is a cast possible here to IDictionary? 其他尝试; sched.ScheduleJobs(new [] { jobDetail,new[] { afternoonTrigger } },true); &安培;&安培; sched.ScheduleJobs(new[] { new KeyValuePair<IJobDetail,ITrigger>()}.ToDictionary<IJobDetail,Quartz.Collection.ISet<ITrigger>(),true); 解决方法
确保使用Quartz命名空间中的集合,这是您编译的代码版本:
IJobDetail jobDetail = JobBuilder.Create<ReportJob>() .WithIdentity("theJob") .Build(); ITrigger everydayTrigger = TriggerBuilder.Create() .WithIdentity("everydayTrigger") // fires .WithCronSchedule("0 0 12 1/1 * ?") // start immediately .StartAt(DateBuilder.DateOf(DateTime.Now.Hour,Quartz.Collection.ISet<ITrigger>>(); dictionary.Add(jobDetail,new Quartz.Collection.HashSet<ITrigger>() { everydayTrigger,yearlyTrigger }); sched.ScheduleJobs(dictionary,true); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |