如何为配置节和连接字符串提供通用的配置源文件



我的项目有2个不同的配置部分(一个技术部分和一个功能部分)和一些连接字符串。我想在同一个configSource文件中,技术配置部分和连接字符串以及另一个功能部分。我知道如何在 3 个单独的文件中执行此操作,但在 2 个文件中却不知道。在同一文件中具有服务器主机名和连接字符串等技术配置是合乎逻辑的。

我的配置文件应如下所示:

应用配置

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="MyService.Functional" type="Logger.ConfigHandler, Logger"/>
    <section name="MyService.Technical" type="Logger.ConfigHandler, Logger"/>
  </configSections>
  <MyService.Functional configSource="ConfigMyService.Functional.Config"/>
  <MyService.Technical configSource="ConfigMyService.Technical.Config"/>
  <connectionStrings configSource="ConfigMyService.Technical.Config">
  </connectionStrings>
</configuration>

MyService.Techno.Config

<MyService.Technical.Config>
  <MyResourceServer value="tcp://MyServer:9000"/>
 </MyService.Technical.Config>
 <connectionStrings>
   <add name="MyEntities" [...] />
 </connectionStrings>

但是,如果我在同一文件中混合使用MyService.Tech和connectionStrings部分,则ConfigurationManager无法再加载任何部分。

你有什么技巧可以做到这一点吗?在这种情况下,绝对必须有 3 个单独的文件吗?

根据我的经验,它似乎将文件的内容加载为引用元素的内部 XML,这意味着您需要为外部引用的每个部分提供不同的文件。

最新更新