.net里面的定时调度我是使用的一个框架(Quartz.net) 定时调度 就是使程序根据制定的时间可以启动
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
using Quartz;
namespace 定时调度Demo
{
//定义一个类是这个类实现Quartz框架的Ijob接口
public class TimeJob : IJob
{
//实现这个接口的方法 这个方法是执行任务的方法
public Task Execute(IJobExecutionContext context)
{
//在这里写入自己的业务逻辑
System.IO.File.AppendAllText(@"E:\测试.txt", "测试Quartz框架"+(DateTime.Now),System.Text.Encoding.UTF8);
//代码出错 会抛出一个异常
throw new NotImplementedException();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Quartz;
using Quartz.Impl;
using Quartz.Util;
using System.Threading.Tasks;
namespace 定时调度Demo
{
public partial class WebForm1 : System.Web.UI.Page
{
//创建一个调度器
IScheduler scheduler;
//调度器工厂来获取IScheduler的一个实例
ISchedulerFactory factory;
protected void Page_Load(object sender, EventArgs e)
{
HttpContext.Current.Response.Write("程序开始启动......");
//获取调度器的一个实例
factory = new StdSchedulerFactory();
scheduler = factory.GetScheduler().Result;
//创建一个任务 并获取任务详情的一个实例 第一个参数是任务名次 第二个是分组名称
IJobDetail job = JobBuilder.Create<TimeJob>().WithIdentity("MyJob", "group1").Build();
//创建一个触发器 WithCronSchedule里面参数是cron表达式
ITrigger trigger = TriggerBuilder.Create().WithIdentity("MyTrigger", "group1").WithCronSchedule("/5 * * ? * *").Build();
//把任务和触发器 加入到调度器
scheduler.ScheduleJob(job, trigger);
//开始执行任务
scheduler.Start();
HttpContext.Current.Response.Write("程序运行结束......");
}
}
}