C#服务实现简单的定时任务 

C#定时任务开发System.Timers.Timer()使用

Quartz Cron表达式在线生成工具



using System; 
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using TxtControl;
using DataControl;
using System.Configuration;
namespace WinFormSendSMS
{
    public partial class SendSMS : Form
    {
        private System.Timers.Timer theTimer = new System.Timers.Timer();//定时器
        private double timespan;//服务执行的时间间隔
 
        public SendSMS()
        {
            InitializeComponent();
        }
        private void btnStart_Click(object sender, EventArgs e)
        {
            try
            {
 
                TxtCommon tcomm = new TxtCommon();
                DataUtility dUtility = new DataUtility();
                this.theTimer.Elapsed += new System.Timers.ElapsedEventHandler(this.theTimer_Elapsed);
                timespan = Convert.ToDouble(ConfigurationManager.AppSettings["Minute"]);
                theTimer.Interval = timespan * 60 * 1000; //转换为毫秒
                theTimer.Enabled = true;
                theTimer.Start();
 
                this.btnStart.Enabled = false;
                this.btnStart.Text = "已启动...";
                btnStop.Enabled = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show("error:" + ex.Message);
            }
        }
 
        /// <summary>
        /// 定时任务处理过程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void theTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            try
            {
                LogMgr.WriteLine("--====定时开始执行程序!===-----");
                TxtCommon tcomm = new TxtCommon();
                DataUtility dUtility = new DataUtility();
                //接收A8表里的数据,放到list
                List<SMSEntity> orginalList = A8DataControl.SMSList();
                LogMgr.WriteLine("获得" + orginalList.Count + "条数据");
                if (orginalList.Count > 0)
                {
 
                    ProcessSMS process = new ProcessSMS();
                    process.ProcessInfo(orginalList);
                }
                LogMgr.WriteLine("--====定时开始执行程序!end===-----");
            }
            catch (Exception ex)
            {
                LogMgr.WriteLine("定时开始执行程序出现异常:" + ex.Message);
            }
        }
 
        /// <summary>
        /// 关闭定时任务
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnStop_Click(object sender, EventArgs e)
        {
            this.theTimer.Enabled = false;
            this.btnStart.Enabled = true;
            this.btnStart.Text = "开启";
            btnStop.Enabled = false;
        }
    }
}