建议在winforms解决方案中的多个相关应用程序之间共享配置数据?我设想的两个可能的解决方案是在machine.config(?)文件中使用自定义部分,另一个是创建一个额外的配置服务应用程序,通过其Properties类维护设置,并处理来自这些设置的get和set请求。所有其他应用程序。
答案 0 :(得分:2)
配置服务应用程序的一个问题是,如果设置包含敏感数据(例如数据库密码),则可能需要对服务的调用者进行身份验证/授权。根据您的环境,可能会出现问题,也可能不成问题。
类似地,您可以使用其他一些共享资源来存储设置(共享XML文件,数据库),但当然您需要以某种方式“引导”,即每个应用程序都必须具有查找共享的信息resource(配置服务的URL,XML文件的位置,配置数据库的连接字符串)。
另一点是,配置服务可能会为所有相关应用程序引入额外的单点故障。或者您可以拥有冗余配置服务,然后您又回到了同步问题 - 复杂性通常不足以节省更新多个配置文件的工作量。
我个人经常在每个应用程序中使用独立的配置文件。在某些情况下,为管理员提供工具以自动更新多个配置文件(例如,更改跨多个应用程序共享的数据库密码)。