winform下使用Quartz.net

1.创建Windows窗体应用程序


2.从网上下载Quartz.net 的dll文件,并且添加引用到项目中


3.修改项目的目标框架,改为.Net Framework4(点击项目然后右键属性)


4.删除app.config文件(也可以不用删除,里面配置quartz.net日志的信息),添加quartz.config和quartz_jobs.xml这两个文件。quartz.config里的内容都不用修改,有个关于quartz_jobs.xml路径的可以修改,我是不修改的,都放在项目的根目录下,挺好的


5.修改quartz.config和quartz_jobs.xml这2个文件的“复制到输出目录”由不复制改为始终复制


6.添加job任务,新建一个类,末尾加个Job,不是必须这样,但是这样一看就清楚,好一些。然后添加public,在继承接口,实现接口方法就行了


7.将job类配置到quartz_jobs.xml文件中


具体关于触发器trigger和job的配置要求,详细说明有很多。我就不赘述了,我写这个的目的是一个简单的入门实用,因为我不知道里面的很多小细节处理,导致一直没运行。

8.开始使用执行任务调度

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Quartz;
using Quartz.Impl;


namespace SAX_WindowsFormsApplication
{
    public partial class Form1 : Form
    {
        private IScheduler _myScheduler = null;
        public IScheduler MyScheduler
        {
            get
            {
                if (_myScheduler == null)
                {
                    var schFactory = new StdSchedulerFactory();
                    _myScheduler = schFactory.GetScheduler();
                }
                return _myScheduler;
            }
        }
        public Form1()
        {
            MyScheduler.Start();
            InitializeComponent();
        }


        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {
            if (MyScheduler.IsStarted)
            {
                MyScheduler.Shutdown(true);
            }
        }
    }
}

这样就可以了。具体复杂的东西就任君发挥了。