J'utilise Quartz.NET dans mon application Web ASP.NET. je mets le code suivant dans un bouton gestionnaire de clic pour vous assurer qu'il exécute (à des fins de test):Le déclenchement Quartz.NET ne se déclenche pas
Quartz.ISchedulerFactory factory = new Quartz.Impl.StdSchedulerFactory();
Quartz.IScheduler scheduler = factory.GetScheduler();
Quartz.JobDetail job = new Quartz.JobDetail("job", null, typeof(BackupJob));
Quartz.Trigger trigger = Quartz.TriggerUtils.MakeDailyTrigger(8, 30); // i edit this each time before compilation (for testing purposes)
trigger.StartTimeUtc = Quartz.TriggerUtils.GetEvenSecondDate(DateTime.UtcNow);
trigger.Name = "trigger";
scheduler.ScheduleJob(job, trigger);
scheduler.Start();
voici "BackupJob":
public class BackupJob : IJob
{
public BackupJob()
{
}
public void Execute(JobExecutionContext context)
{
NSG.BackupJobStart();
}
}
ma question: pourquoi est « BackupJobStart() "Ne pas tirer? J'ai utilisé un code similaire avant et ça a bien fonctionné.
EDIT: @Andy White, je l'aurais dans Application_Start dans Global.asax. cela ne fonctionne pas, c'est pourquoi je l'ai déplacé à un gestionnaire de clic sur un bouton pour affiner le problème.
Cela m'a aidé à trouver la question, le mien était que la classe mon travail exécutait n'a pas de défaut (parameterless) constructeur public. – patrickbadley