SreeniChamp
Самый простой способ включить Quartz.NET в вашем приложении это происходит через Nuget. Это можно сделать, набрав Install-Package Quartz в командной строке консоли диспетчера пакетов или щелкнув правой кнопкой мыши проект в обозревателе решений Visual Studio и выбрав пункт Управление пакетами Nuget.
Quartz consists of 3 primary components - a job, a trigger and a scheduler
Создание задания для выполнения
using Quartz;
using System;
using System.Net;
using System.Net.Mail;
namespace ScheduledTaskExample.ScheduledTasks
{
public class EmailJob : IJob
{
public void Execute(IJobExecutionContext context)
{
using (var message = new MailMessage("user@gmail.com", "user@live.co.uk"))
{
message.Subject = "Test";
message.Body = "Test at " + DateTime.Now;
using (SmtpClient client = new SmtpClient
{
EnableSsl = true,
Host = "smtp.gmail.com",
Port = 587,
Credentials = new NetworkCredential("user@gmail.com", "password")
})
{
client.Send(message);
}
}
}
}
}
Настройка планировщика и триггера
using Quartz;
using Quartz.Impl;
using System;
namespace ScheduledTaskExample.ScheduledTasks
{
public class JobScheduler
{
public static void Start()
{
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
scheduler.Start();
IJobDetail job = JobBuilder.Create<EmailJob>().Build();
ITrigger trigger = TriggerBuilder.Create()
.WithDailyTimeIntervalSchedule
(s =>
s.WithIntervalInHours(24)
.OnEveryDay()
.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(0, 0))
)
.Build();
scheduler.ScheduleJob(job, trigger);
}
}
}
Надеюсь, это поможет!