C#服务实现简单的定时任务
C#定时任务开发System.Timers.Timer()使用
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; } } }