共享配置文件的两个应用程序的c#模式

时间:2011-03-04 15:49:53

标签: c# configuration

我有两个具有许多常见配置属性的应用程序。当一个配置属性发生变化时,我希望另一个变更。在我开始走错轨道之前,有没有人有明智的方法来实现这个目标?

编辑:我正在使用.NET 2.0

3 个答案:

答案 0 :(得分:7)

您可以为所涉及的配置部分创建和引用公共configSource。例如,如果您想要一组通用的AppSettings,请将当前的appSettings复制到一个新文件(比如appSettings.shared.config)并在这两个app配置中替换它们:

<appSettings configSource="appSettings.shared.config"/>

以下是更多文档:http://sunali.com/2008/01/23/configsource-property-dividing-configuration-files-into-pieces/

据我所知,这不能用于整个文件,只有部分,并且每个部分都需要自己的文件(并且该部分仍然必须在app.config的configurationsections元素中声明)。但是,这有很多很酷的用途;例如,您可以将连接字符串分成适合不同环境(本地,开发,测试,登台,制作)的文件,并在一个地方更改一个文件名,现在您将应用程序指向不同的环境。

答案 1 :(得分:5)

实现此目的的一种简单方法是在两个应用程序中的app.config中使用configSource属性,并将其指向一个公共文件。 Bingo,更改一个文件,所有应用程序都会更新。

检查其上的MSDN文档here

答案 2 :(得分:3)

有几种不同的方法可以做到这一点:

  1. 使用注册表
  2. 在公共位置使用配置文件
  3. 在数据库中使用配置表