是否可以通过配置文件(quartz.properties 或 app.config/web.config)中保存的混合属性以及 StdSchedulerFactory 构造函数来配置 Quartz?
我想通过构造函数传递 AdoJobStore 连接字符串,因为它是动态的,具体取决于环境,但其余设置是静态的,因此最好放置在配置文件中。
我尝试只传递 quartz.dataSource.myDS.connectionString
通过构造函数配置属性,同时将其余属性放在工作目录中的quartz.config 中。但是,我收到错误:
Provider not specified for DataSource: myDS
所以我想这意味着如果您使用接受 NameValueCollection 的构造函数,那么它就不必检查配置文件。
我知道quartz.config 文件位于正确的位置,因为如果我将连接字符串放在那里并使用默认构造函数,那么一切都会正常工作
最佳答案
最后,它们都是简单的命名值对。
您可以将其中的“大部分”放在 .xml 文件中...然后通过代码“添加”您想要的内容。
或者将它们全部写入代码中。
查看源代码的单元测试,您会相当清楚地看到这一点。
类似这样的事情:
NameValueCollection config = (NameValueCollection)ConfigurationManager.GetSection("quartz");
config.Add("MyCodedUpKey", "MyCodedUpValue");
如果您有“冲突”(您想要覆盖配置文件中的“键”。应用一些简单的名称值对“更新现有键”逻辑”
关于quartz-scheduler - 通过配置文件和构造函数的混合来配置 Quartz.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22078761/