就喜欢直接粘代码:
在 Global.asax 中定义定时器,定时调用方法
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
//AddCount(null, null);//需要立即执行
System.Timers.Timer timer = new System.Timers.Timer(29*60000);
timer.Elapsed += new System.Timers.ElapsedEventHandler(AddCount); //AddCount是一个方法,此方法就是每个6分钟而做的事情
timer.AutoReset = true;
//给Application["timer"]一个初始值
timer.Enabled = true;
}
private void AddCount(object sender, ElapsedEventArgs e)
{
int intHour = e.SignalTime.Hour;
int intMinute = e.SignalTime.Minute;
int intSecond = e.SignalTime.Second;
Application.Lock();
if ( intHour == 7 && intMinute < 30)
{
//开线程调用极光推送
new Thread(delegate () { JPushTools.SendPushMsg(DateTime.Now.ToString("HH:mm") + "每天 7:00 ~ 7:30 定时测量血糖"); }).Start();
}
//JPushTools.SendPushMsg("定时 29 分钟发送");
//****
//这里可以写你需要执行的任务,比如说,清理数据库的无效数据或增加每个用户的积分等等
Application.UnLock();
}
}