如果asp.NET应用程序池空闲,Quartz.NET可以调用my class函数
假设我以这种方式在应用程序启动事件中编写并调度Quartz.NET作业相关代码如果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
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) 转到操作->新建->发送电子邮件