我在我的 ASP.NET Web 应用程序中使用 Quartz.NET。我将以下代码放在按钮单击处理程序中以确保它执行(用于测试目的):
Quartz.ISchedulerFactory factory = new Quartz.Impl.StdSchedulerFactory();
Quartz.IScheduler scheduler = factory.GetScheduler();
Quartz.JobDetail job = new Quartz.JobDetail("job", null, typeof(BackupJob));
Quartz.Trigger trigger = Quartz.TriggerUtils.MakeDailyTrigger(8, 30); // i edit this each time before compilation (for testing purposes)
trigger.StartTimeUtc = Quartz.TriggerUtils.GetEvenSecondDate(DateTime.UtcNow);
trigger.Name = "trigger";
scheduler.ScheduleJob(job, trigger);
scheduler.Start();
这是“备份作业”:
public class BackupJob : IJob
{
public BackupJob()
{
}
public void Execute(JobExecutionContext context)
{
NSG.BackupJobStart();
}
}
我的问题:为什么“BackupJobStart()”没有触发?我以前使用过类似的代码,它工作得很好。
编辑:@Andy White,我会在 Global.asax 的 Application_Start 中使用它。这不起作用,这就是为什么我将其移至按钮单击处理程序以缩小问题范围。