1、在Global.asax.cs中添加代码:
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
 | 
ISchedulerFactory factory = new StdSchedulerFactory();            IScheduler scheduler = factory.GetScheduler();            IJobDetail job = JobBuilder.Create<ScheduledJob>().WithIdentity("job1", "group1")                .Build();            //DateTimeOffset runTime = DateBuilder.EvenMinuteDate(DateTimeOffset.UtcNow);            ITrigger trigger = TriggerBuilder.Create()                .WithIdentity("trigger1", "group1")                .WithCronSchedule("0/5 * * * * ?")     //5秒执行一次                //.StartAt(runTime)                .Build();            scheduler.ScheduleJob(job, trigger);            scheduler.Start(); | 
2、增加文件ScheduledJob.cs:
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
 | 
using System;using System.Collections.Generic;using System.Linq;using System.Web;using Quartz;using Common.Logging;using Quartz.Job;using FWMemberAdmin.Common;namespace FWMemberAdmin.Common{    public class ScheduledJob:IJob     {        public void Execute(IJobExecutionContext context)        {            myLogs.AddLog("test","管理员", "开始");            string result = ExecProc.CalcDay();            myLogs.AddLog("test", "管理员", "结束");        }    }} | 
然后运行网站,结果并没有自动执行job。我哪个地方出问题了吗?
试试这个
1 ITrigger trigger = TriggerBuilder.Create() 2 .WithIdentity("trigger1", "group1") 3 .StartNow() //从现在开始 4 .WithCronSchedule("0/5 * * * * ?") //5秒执行一次 5 .Build();
估计是
你的//.StartAt(runTime) 这个被注释掉了 你可以传个特定的时间进去runTime
或者直接用 .StartNow() //从现在开始
不知道能不能帮上
另外 Global.asax内 还要加个
1 protected void Application_End(object sender, EventArgs e) 2 { 3 // 在应用程序关闭时运行的代码 4 if (scheduler != null) 5 { 6 scheduler.Shutdown(true); 7 } 8 }