跨多个应用程序的配置

问题描述:

推荐用于在winforms解决方案中的几个相关应用程序之间共享配置数据?我设想的两种可能的解决方案是使用machine.config(?)文件中的自定义部分,另一种是创建额外的配置服务应用程序,该应用程序通过其Properties类来维护设置,并处理来自这些设置的get和set请求所有其他应用程序。跨多个应用程序的配置

配置服务应用程序的一个问题是,如果设置包含敏感数据(如数据库密码),则可能需要验证/授权服务的调用者。取决于您的环境,可能会或可能不会成为问题。

同样,您可以使用其他共享资源来存储设置(共享XML文件,数据库),但当然您需要以某种方式“引导”,即每个应用程序必须有信息来定位共享资源(配置服务的URL,XML文件的位置,配置数据库的连接字符串)。

另一点是配置服务可能会为所有相关应用程序引入额外的单点故障。或者你可以有冗余的配置服务,然后你又回到了同步的问题 - 复杂性通常是不合理的,只是为了节省更新多个配置文件的工作量。

就我个人而言,我通常会在每个应用程序中使用独立的配置文件。在某些情况下,为管理员提供工具以自动更新多个配置文件(例如,更改跨多个应用程序共享的数据库密码)。

+0

关于认证的有趣点。我花了很多时间考虑如何验证一个应用程序到另一个应用程序。 – ProfK 2008-10-09 15:07:19