在ASP.NET MVC4中使用Quartz.NET执行定时任务

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

        }

 

1

你可能感兴趣的:(asp.net)