您如何在多个项目中集中配置?

HAL*_*000 10 .net c# configuration wcf config

我有一个包含只读配置的大约10个项目的解决方案.它们是Web应用程序,Windows服务,控制台应用程序等.除了一个项目之外的所有项目都在同一台服务器上.每个项目都有3个环境 - 开发,测试和生产.所以有30种不同的配置,每种配置都有相当多的设置.在每个应用程序和环境中保持配置一致是很麻烦的.

我注意到大多数配置在每个项目中都很常见,所以我认为以某种方式集中配置会很好.我在某处读到WCF服务可能是一个很好的方法.我想也许包含硬编码静态类的库可能实际上工作正常 - 尽管必须编译以更改配置.理想情况下,配置应该来自实际的.config文件.

您将如何集中管理多个项目的配置?

Cor*_*rch 11

如果要维护标准配置界面,请查看ProtectedConfigurationProvider.此提供程序允许您将配置数据存储在标准配置文件之外,根据需要对其进行加密,或以您认为合适的任何方式重定向配置请求:

这种方法的优点在于您现有的应用程序没有任何变化.他们不需要知道他们的配置存储在何处.配置数据的检索在提供程序中被隔离.您可以将其存储在中央文件中,将其存储在数据库中,或通过Web服务访问它.如果您改变主意,则只需更新提供商.其他一切都保持不变.