使用ConfigurationManager';s OpenExeConfiguration和GetSection
本文关键字:OpenExeConfiguration GetSection ConfigurationManager 使用 | 更新日期: 2023-09-27 18:21:05
是否可以从app.config或web.config以外的配置文件中检索自定义配置节。
我试着同时使用System.ConfigurationManager的OpenExeConfiguration和GetSection方法调用,但没有成功。我的意图是为可互换的进程适配器定义自定义配置部分,并将自定义配置部分包含在除app.config和web.config之外的单独配置文件中。我看到了很多关于appsettings和connectionstring的示例。
static private DigiKeyReadTaskConfigSection digiKeyReadTaskConfigSection;
static DigiKeyReadTaskConfigSection DigiKeyReadTaskConfigSection {
get {
if (digiKeyReadTaskConfigSection == null) {
digiKeyReadTaskConfigSection = (DigiKeyReadTaskConfigSection)ConfigurationManager.OpenExeConfiguration("ReadTask.config").GetSection("DigiKeyReadTaskConfigSection");
}
return digiKeyReadTaskConfigSection;
}
}
digiKeyReadTaskConfigSection = (DigiKeyReadTaskConfigSection)ConfigurationManager.OpenExeConfiguration
调用似乎正在工作,但是(DigiKeyReadTaskConfigSection)ConfigurationManager.OpenExeConfiguration("ReadTask.config").GetSection("DigiKeyReadTaskConfigSection")
返回null。
ReadTask.config文件位于应用程序的bin文件中:
<configuration> <configSections>
<section name="DigiKeyReadTaskConfigSection" type="DataReadInc.WebSiteRead.TaskConfigSection.DigiKeyReadTaskConfigSection, DataReadInc.WebSiteRead" />
<section name="ArrowReadTaskConfigSection" type="DataReadInc.WebSiteRead.TaskConfigSection.ArrowReadTaskConfigSection, DataReadInc.WebSiteRead" /> </configSections> <DigiKeyReadTaskConfigSection DigiKeySiteURL="http://search.digikey.com/scripts/DkSearch/dksus.dll?WT.z_header=search_go&lang=en&site=us&keywords="
SiteLogInURL="https://ordering.digikey.com/RegisteredUser/Login.aspx,formName=" SiteLoginId="X" SiteLoginPassword="X" /> <ArrowReadTaskConfigSection ArrowAmericaSiteURL="http://components.arrow.com/part/search/"
SiteLoginURL="http://components.arrow.com/login/processlogin#" SiteLoginId="X" SiteLoginPassword="X" /> </configuration>
我在Spring.Net和J2EE实现中见过这种类型的设置,所以我相信这是可能的。我可以将我的自定义配置部分放在App.config或web.config文件中,但如果它们存在于自己的配置文件中,则会更干净。
使用ConfigurationManager.OpenMappedExeConfiguration().OpenExeConfiguration
与某个exe相关。