C# GetFireTimeAfter方法,它返回一个日期,该日期是HolidayCalendar的一部分

C# GetFireTimeAfter方法,它返回一个日期,该日期是HolidayCalendar的一部分,c#,quartz-scheduler,quartz.net,C#,Quartz Scheduler,Quartz.net,对于我正在为不应触发触发器的特定日期添加假日日历的现有每日计划 下面的代码用于将日历添加到计划中 ISchedulerFactory sf = new StdSchedulerFactory(config); Instance = sf.GetScheduler(); HolidayCalendar cal = new HolidayCalendar(); cal.AddExcludedDate(new DateTime(2017, 11,

对于我正在为不应触发触发器的特定日期添加假日日历的现有每日计划

下面的代码用于将日历添加到计划中

    ISchedulerFactory sf = new StdSchedulerFactory(config);
    Instance = sf.GetScheduler();            
    HolidayCalendar cal = new HolidayCalendar();
    cal.AddExcludedDate(new DateTime(2017, 11, 24));
    cal.AddExcludedDate(new DateTime(2017, 11, 25));
    Instance.AddCalendar("Cal", cal, false,true);
现在,我将现有日历与触发器关联

var trigger1 = Instance.GetTriggersOfJob(new JobKey(jc.Name)).First().GetTriggerBuilder().ModifiedByCalendar("Cal").Build();
最后我打印了所有触发日期

while (startTimeUTC < DateTime.Parse("11-21-2017").AddDays(8))
{
  var nextFireTime = trigger1.GetFireTimeAfter(startTimeUTC);
  Console.WriteLine(" :  " + nextFireTime);
  if (nextFireTime == null) break;
  startTimeUTC = (DateTimeOffset)nextFireTime;
}
while(starttimetutc
但在输出中,我得到了2017年11月24日和2017年11月25日以及其他日期。由于我已将2017年11月24日和2017年11月25日添加为假日,因此GetFireTimeAfter()方法不应返回该日期。
我遗漏了什么?

方法
GetFireTimeAfter
不会检查返回的激发时间是否与触发器关联日历中排除的日期匹配

在考虑给定日历的情况下,您可以使用另一种方法列出实际火灾时间,即:

var fireTimes = TriggerUtils.ComputeFireTimes((IOperableTrigger)trigger1, cal, 30);