本篇在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);}