Triggers Quartz.NET没有';为什么我没开扳机?

Triggers Quartz.NET没有';为什么我没开扳机?,triggers,quartz-scheduler,Triggers,Quartz Scheduler,我在.NET应用程序中使用Quartz。起初,我在一个windows服务中使用它,但它不起作用,所以我把它转移到一个普通的项目来测试它。主要代码如下: ISchedulerFactory schedFact = new StdSchedulerFactory(); IScheduler sched = schedFact.GetScheduler(); JobDetail jobDetail = new JobDetail("JobPrueba", null, typeof(JobPrueba)

我在.NET应用程序中使用Quartz。起初,我在一个windows服务中使用它,但它不起作用,所以我把它转移到一个普通的项目来测试它。主要代码如下:

ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler sched = schedFact.GetScheduler();
JobDetail jobDetail = new JobDetail("JobPrueba", null, typeof(JobPrueba));
Trigger trigger = TriggerUtils.MakeMinutelyTrigger(1, 3);
trigger.StartTimeUtc = DateTime.Now;
trigger.Name = "TriggerPrueba";
sched.Start();
sched.ScheduleJob(jobDetail, trigger);
这是JobPrueba:

class JobPrueba : IStatefulJob
{
    public JobPrueba() { }

    public void Execute(JobExecutionContext context)
    {
        const string fic = @"C:\prueba.txt";
        string texto = DateTime.Now.ToString();
        System.IO.StreamWriter sw = new System.IO.StreamWriter(fic, true);
        sw.WriteLine(texto);
        sw.Close();
        System.Console.WriteLine("Hello world");
    }
}
它什么也不做,当Main中的最后一行被执行时,程序永远不会结束,但它不会在文件中写入,也不会在控制台中打印helloworld


有人知道我做错了什么吗

我发现这是时代的问题。我生活在一个时间为UTC+2的国家,所以当我将触发器的StartTimeUtc设置为DateTime时。现在,触发器不必在两小时后触发,而是在代码执行的那一刻触发


此外,我设置了一个计时器来记录正在发生的事情,在日志中我打印了当前时间(带有DateTime.Now)和触发器的StartTimeUtc,很明显它们是相同的和更晚的DateTime。Now大于StartTimeUtc。如果我打印了DateTime.UtcNow,我就看到了这个问题。

我发现这是时代的问题。我生活在一个时间为UTC+2的国家,所以当我将触发器的StartTimeUtc设置为DateTime时。现在,触发器不必在两小时后触发,而是在代码执行的那一刻触发

此外,我设置了一个计时器来记录正在发生的事情,在日志中我打印了当前时间(带有DateTime.Now)和触发器的StartTimeUtc,很明显它们是相同的和更晚的DateTime。Now大于StartTimeUtc。如果我打印了DateTime.UtcNow,我就发现了这个问题