如何为ConfigSections和connectionStrings创建一个通用的ConfigSource文件?

时间:2013-10-24 17:00:25

标签: c# configuration connection-string configsource

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

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

的App.config

<?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="Config\MyService.Functional.Config"/>
  <MyService.Technical configSource="Config\MyService.Technical.Config"/>

  <connectionStrings configSource="Config\MyService.Technical.Config">
  </connectionStrings>
</configuration>

MyService.Technical.Config

<MyService.Technical.Config>
  <MyResourceServer value="tcp://MyServer:9000"/>
 </MyService.Technical.Config>

 <connectionStrings>
   <add name="MyEntities" [...] />
 </connectionStrings>

但是,如果我混合MyService.Technical&amp;部分。在同一文件中的connectionStrings,ConfigurationManager不能再加载任何部分。

你有任何提示吗?对于这种情况,是否必须有3个单独的文件?

1 个答案:

答案 0 :(得分:0)

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