使用SQL Server AdoJobStore配置Quartz.NET

我在尝试让Quartz.NET与AdoJobStore一起工作时遇到了麻烦。 这里没有其他问题似乎遇到了我的问题。 我能够在没有AdoJobStore配置的情况下使其工作正常,但是最终会保留所有内容,但是在尝试GetScheduler()时我得到了一个我无法弄清楚的错误。

这是我的quartz app.config部分:

                 

这是相关的初始化代码:

 var config = (NameValueCollection) ConfigurationManager.GetSection("quartz"); ISchedulerFactory factory = new StdSchedulerFactory(config); // This is where an ArgumentOutOfRange exception occurs: IScheduler scheduler = factory.GetScheduler(); 

我得到的错误是ArgumentOutOfRangeException

长度不能小于零。\ r \ n参数名称:长度

单步执行代码,我可以validation配置部分是否正确读取,并且我检查拼写错误和配置属性的大写错误。 我已经validation了可以使用我拥有的connectionString访问数据库。

在通过代码并在立即窗口中检查工厂变量时我注意到的一件事是它总是说“AllSchedulers:Count = 0” – 不确定是否因为我还没有实例化一个或者如果那是我的问题。 试图从配置中为GetScheduler() instanceName

 factory.GetScheduler("XxxDefaultQuartzScheduler") 

也不起作用。

我错过了什么/做错了什么? 请指教。

好吧,想出了我自己的问题 – 属性石英。 dataSource .useProperties应该是quartz。 jobStore .useProperties