我有一个约10个项目与只读配置的解决方案.它们是Web应用程序,Windows服务,控制台应用程序等.除一个外,所有项目都在同一台服务器上.每个项目都有3个环境 – 开发,测试和生产.所以有30组不同的配置,每个配置都有不错的设置.保持配置在每个应用程序和环境中保持一致是很麻烦的.
我注意到,大多数配置在每个项目中都是常见的,所以我认为以某种方式集中配置是很好的.我读过某个WCF服务可能是一个很好的方法.我认为也许包含硬编码静态类的库可能实际上可以正常工作 – 尽管必须编译才能更改配置.理想情况下,配置应该从实际的.config文件中删除.
您将如何集中多个项目的配置?
解决方法
如果要维护标准配置界面,请查看
ProtectedConfigurationProvider.该提供程序允许您将配置数据存储在标准配置文件之外,不管您喜欢加密还是以任何您认为合适的方式重定向请求配置:
> Redirecting Configuration with a Custom Provider – Wrox
> Implementing a Protected Configuration Provider – MSDN
> Protected Configuration – Blayd Software
这种方法的优点是您现有的应用程序没有任何变化.他们不需要知道他们的配置在哪里存储.检索配置数据在提供者中是隔离的.您可以将其存储在中央文件中,将其存储在数据库中,或通过Web服务进行访问.如果你改变主意,你只需要更新你的提供者.一切都保持不变