本篇在ASP.NET MVC下实践使用Quartz.NET执行定时任务。
首先通过NuGet安装Quartz.NET。
使用Quartz.NET的大致思路是:1、实现IJob接口,定义具体要做的事情2、使用Quartz.NET的API定义定时任务规则3、在Application_Start注册定时任务
实现IJob接口。
public class MyJob : IJob{public void Execute(IJobExecutionContext context){Debug.WriteLine("Hello at " + DateTime.Now.ToString());}}
在Global.asax中定义规则,并在Application_Start中注册。
protected void Application_Start(){AreaRegistration.RegisterAllAreas();WebApiConfig.Register(GlobalConfiguration.Configuration);FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);RouteConfig.RegisterRoutes(RouteTable.Routes);BundleConfig.RegisterBundles(BundleTable.Bundles);MyJobs();}private static void MyJobs(){//工厂ISchedulerFactory factory = new StdSchedulerFactory();//启动IScheduler scheduler = factory.GetScheduler();scheduler.Start();//描述工作IJobDetail jobDetail = new JobDetailImpl("mylittlejob",null, typeof(MyJob));//触发器ISimpleTrigger trigger = new SimpleTriggerImpl("mytrigger",null,DateTime.Now,null,SimpleTriggerImpl.RepeatIndefinitely,TimeSpan.FromSeconds(10));//执行scheduler.ScheduleJob(jobDetail, trigger);}