在 C# 中,如果你想要使用 Quartz.NET 库来安排一个任务每小时执行一次,你可以使用 StdSchedulerFactory 类来创建一个调度器(Scheduler),并配置一个 Cron 触发器(CronTrigger)。
步骤 1: 安装 Quartz.NET
Install-Package Quartz
步骤 2: 创建 Job 类
using Quartz;
using System.Threading.Tasks;public class MyJob : IJob
{public Task Execute(IJobExecutionContext context){// 在这里添加你的任务代码Console.WriteLine("任务执行时间: " + DateTime.Now);return Task.CompletedTask;}
}
步骤 3: 配置和启动 Scheduler
public MainWindow()
{InitializeComponent();ISchedulerFactory schedFact = new StdSchedulerFactory();IScheduler sched = schedFact.GetScheduler().Result;sched.Start();IJobDetail job = JobBuilder.Create<Withdrawn>().WithIdentity("job1", "group1").Build();ITrigger trigger = TriggerBuilder.Create().WithIdentity("trigger1", "group1").WithSimpleSchedule(x =>{x.WithIntervalInMinutes(10).RepeatForever();}).Build();/* 每天17:30执行ITrigger trigger = TriggerBuilder.Create().WithIdentity("trigger1", "group1").WithDailyTimeIntervalSchedule(x => x.WithIntervalInHours(24) // 每天执行一次.OnEveryDay().StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(17, 30))) // 每天17:30执行.Build();*/sched.ScheduleJob(job, trigger);
}