私はasp.net Webサイトを持っており、1日に1回タスクを実行したいと考えています。タスクは、登録の有効期限が切れる 2 日前にユーザーに電子メールを送信することです。Quartz.NETバージョン 1.0を使用しました。毎秒ウィンドウを開くサンプル コードを作成しました。このコードを asp.net プロジェクトのどこに配置すればよいかわかりません。シンプルなページになりました。ページから独立させたい。
public class DumbJob : IJob
{
public DumbJob()
{
}
public void Execute(JobExecutionContext context)
{
Console.WriteLine("DumbJob is executing.");
System.Windows.Forms.MessageBox.Show("NICE");
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// construct job info
JobDetail jobDetail = new JobDetail("myJob", null, typeof(DumbJob));
// fire every hour
Trigger trigger = TriggerUtils.MakeSecondlyTrigger();//.MakeHourlyTrigger();
// start on the next even hour
trigger.StartTimeUtc = TriggerUtils.GetEvenSecondDate(DateTime.UtcNow);
trigger.Name = "myTrigger";
sched.ScheduleJob(jobDetail, trigger);
}
}