在asp.net和C#中使用Quartz来安排生日消息

本文关键字:Quartz 消息 生日 net asp | 更新日期: 2023-09-27 18:00:55

我想给我的网站用户发送生日消息。我用Quartz进行调度,我写了一些代码,但我希望它能永远工作,但调度程序工作了几次,然后就停止了。

我不知道是IIS服务器配置还是其他什么。

public class Global : System.Web.HttpApplication
{
    public static void Start()
    {
        IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
        scheduler.Start();
        IJobDetail job = JobBuilder.Create<BirthdaySch>().Build();
        ITrigger trigger = TriggerBuilder.Create()
            .StartNow()
            .WithSimpleSchedule(x => x
             .WithIntervalInMinutes(1)
             .RepeatForever())
          .Build();
        scheduler.ScheduleJob(job, trigger);
    }
    protected void Application_Start(object sender, EventArgs e)
    {
        Start();
    }
    protected void Session_Start(object sender, EventArgs e)
    {
    }
    protected void Application_BeginRequest(object sender, EventArgs e)
    {
    }
    protected void Application_AuthenticateRequest(object sender, EventArgs e)
    {
    }
    protected void Application_Error(object sender, EventArgs e)
    {
    }
    protected void Session_End(object sender, EventArgs e)
    {
    }
    protected void Application_End(object sender, EventArgs e)
    {
    }
}

在asp.net和C#中使用Quartz来安排生日消息

asp.net应用程序运行线程将在没有请求的情况下自行挂起。石英也会停止。首先,您应该使用windows服务或控制台应用程序来运行调度服务。构建一个控制台应用程序并运行它赢得调度任务,这是最好的方式。或者构建windows服务,在服务主体中使用quartz.net调度器。