我有一个问题,指的是quartz.net cron表达式。我已经阅读了很多文章,并尝试了许多代码,但没有任何结果,所以我觉得有点无望,这就是我决定问你的原因。也许有人也有类似的问题。 有没有办法解析Quartz.Net到DateTime格式的cron表达式? 例如,我有一个cron:
var cron = new Quartz.CronExpression("0 * 8-22 * * ?");
我试过使用GetFinalFireTime()GetTimeAfter()GetNextValidTimeAfter()但是应用程序仍然抛出异常:
An unhandled exception of type 'System.AccessViolationException' occurred. Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
这是我的代码:
CronExpression cron = new Quartz.CronExpression("0 * 8-22 * * ?");
DateTimeOffset? nextFire = cron.GetNextValidTimeAfter(dt);
如果你能告诉我是否有任何cron解析器库可以轻松创建crons,我也将非常感激。类似于cronMaker.com的东西,但正确使用Quartz.Net。
答案 0 :(得分:2)
GetFinalFireTime
还没有implemented yet
如果您使用的是最新版本之一,GetNextValidTimeAfter
应该正常工作。
如果您想在c#中生成 cron表达式,可以使用CronScheduleBuilder
。
<强>更新强>
您可以找到一个简单的项目here(QuartzNetCronExpressions.zip),您可以在其中查看它的工作原理。
注意:我使用过VS 2013,Framework 4.5.1和Quartz.net 2.2.1(nuget包)。
答案 1 :(得分:1)
我遇到了同样的问题。以某种方式我的构建项目配置设置为x86。它没有给我更改它的选项。我卸载了项目并在记事本中更改了它。将配置设置为&#34; AnyCPU&#34;事情开始解决问题