我正在使用Quartz .net和AdoJobStore jobStore。在.config文件中,有一个属性用于设置连接字符串:
<add key="quartz.dataSource.default.connectionString" value="Data Source=MyServer;Initial Catalog=MyDatabase;Integrated Security=True" />
但是,我在一个单独的配置文件中管理所有连接字符串,所以我目前需要重复这个connectionString信息。
有没有办法不在.config文件中指定quartz.dataSource.default.connectionString并通过代码手动设置它,所以我可以在我的全局connectionStrings配置文件中获取我的值?
它确实可以在实例化StdSchedulerFactory时使用NameValueCollection,但我不想管理所有设置,只管理连接字符串。
答案 0 :(得分:1)
最后,它们都只是命名 - 值对。
您可以在.xml文件中包含“大部分”...然后通过代码“添加”您想要的内容。
或者将所有这些都放在代码中。
请参阅UnitTests获取源代码,您会相当清楚地看到这一点。
这样的事情:
NameValueCollection config = (NameValueCollection)ConfigurationManager.GetSection("quartz");
config.Add("MyCodedUpKey", "MyCodedUpValue");
我不会把
“quartz.dataSource.default.connectionString”
在你的.xml文件中...以避免碰撞......或者你可以编写额外的逻辑来删除和添加 NameValueCollection。
或者在这里看一眼:
答案 1 :(得分:0)
最后通过使用代码传递所有配置属性来修复我的问题,但是通过解析quartz配置来自动获取它们。
我手动在末尾添加quartz.dataSource.default.connectionString属性,并通过在我的全局connectionStrings.config文件中获取它来设置值。