如果asp.NET应用程序池空闲,Quartz.NET可以调用my class函数

如果asp.NET应用程序池空闲,Quartz.NET可以调用my class函数,asp.net,quartz-scheduler,application-pool,Asp.net,Quartz Scheduler,Application Pool,假设我以这种方式在应用程序启动事件中编写并调度Quartz.NET作业相关代码 public class HelloJob : IJob { public void Execute(JobExecutionContext context) { //Send Mail } } public static void ConfigureQuartzJobs() { // cons

假设我以这种方式在应用程序启动事件中编写并调度Quartz.NET作业相关代码

public class HelloJob : IJob
    {
        public void Execute(JobExecutionContext context)
        {
            //Send Mail
        }
    }


    public static void ConfigureQuartzJobs()
    {
        // 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(HelloJob));
        //created trigger which will fire every minute starting immediately
    ITrigger trigger = TriggerBuilder.Create()
          .WithIdentity("myTrigger", "group1")
          .StartNow()
          .WithSimpleSchedule(x => x
              .WithIntervalInSeconds(60)
              .RepeatForever())
          .Build();

        sched.ScheduleJob(jobDetail, trigger);
}

protected void Application_Start()
{
    ConfigureQuartzJobs();
}
所以我想知道,如果应用程序池处于空闲状态,或者如果没有访问者浏览我的网站或任何页面,我的例程将在每60秒后运行一次

我主要关心的是,如果应用程序池处于空闲或活动状态,我需要在60秒后调用特定的例程。甚至没有访问者浏览我的网站的任何页面


所以,请指导我该怎么做?谢谢

没有石英,您可以执行以下操作: 1) 在应用程序结束方法中,检查关机原因(您对超时感兴趣)。

2) 当您获得空闲超时原因时,将具有特定id的事件写入windows事件日志

3) 转到windows任务计划程序。创建新任务。转到触发器。新的触发器。在触发器类型组合框中选择“在事件上”。选择写入日志的日志、源和事件id。(默认应用程序)

4) 转到操作->新建->发送电子邮件