2.0版本请参考https://www.cnblogs.com/best/p/7658573.html 这里的文章很详细:
我们现在想每5秒钟往txt文件夹里存储一个时间
首先:定义一个类,实现Quartz.IJob接口,实现方法Execute,TimeJob.cs文件的代码如下:
using Quartz; using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MvcApplication1 { public class TimeJob : IJob { public void Execute(IJobExecutionContext context) { //向c:Quartz.txt写入当前时间并换行 System.IO.File.AppendAllText(@"c:Quartz.txt", DateTime.Now+Environment.NewLine); } } }
现在Quartz.NET3.0 操作如下:和2.0版本还是有预定的区别,引入了TASK相关的概念,具体参照 https://www.quartz-scheduler.net/documentation/quartz-3.x/migration-guide.html
//1,调度器 Task<IScheduler> taskScheduler; IScheduler scheduler1; //调度器工厂 ISchedulerFactory factory = new StdSchedulerFactory(); //创建一个调度器 taskScheduler = factory.GetScheduler(); scheduler1 = taskScheduler.Result; IJobDetail job = JobBuilder.Create<TimeJob>().WithIdentity("job1", "group1").Build(); //3、创建一个触发器 //ITrigger trigger = TriggerBuilder.Create() // .WithIdentity("trigger1", "group1") // .WithCronSchedule("0/5 * * * * ?") //5秒执行一次 // .Build(); //3.1另外一种触发器 ISimpleTrigger trigger1 = (ISimpleTrigger)TriggerBuilder.Create() .WithIdentity("trigger1", "group1") .StartNow().WithSimpleSchedule(x => x.WithIntervalInSeconds(5).RepeatForever()).Build(); //4、将任务与触发器添加到调度器中 //scheduler1.ScheduleJob(job, trigger); scheduler1.ScheduleJob(job, trigger1); //5、开始执行 scheduler1.Start();