Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在应用程序和windows服务之间共享相同的设置(或配置)(即使它们在不同的PC上运行)_C#_.net_Configuration - Fatal编程技术网

C# 如何在应用程序和windows服务之间共享相同的设置(或配置)(即使它们在不同的PC上运行)

C# 如何在应用程序和windows服务之间共享相同的设置(或配置)(即使它们在不同的PC上运行),c#,.net,configuration,C#,.net,Configuration,我正在用C#开发一个大的解决方案。一些项目是.NET Framework 4.0(大多数),其他项目是.NET Framework 4.6.2 此解决方案具有WinForm应用程序和Windows服务 我的问题是,所有这些应用程序共享数据库连接字符串、服务器的IP等,我必须修改其每个配置文件以更新所有这些配置设置 我还想加密这些设置,不允许用户修改它们 我想使用Windows的注册表,或加密的SQLLite数据库,或另一个带有WebAPI接口的Windows服务来请求这些设置 你给我推荐什么 顺

我正在用C#开发一个大的解决方案。一些项目是.NET Framework 4.0(大多数),其他项目是.NET Framework 4.6.2

此解决方案具有WinForm应用程序和Windows服务

我的问题是,所有这些应用程序共享数据库连接字符串、服务器的IP等,我必须修改其每个配置文件以更新所有这些配置设置

我还想加密这些设置,不允许用户修改它们

我想使用Windows的注册表,或加密的SQLLite数据库,或另一个带有WebAPI接口的Windows服务来请求这些设置

你给我推荐什么

顺便说一句,所有这些程序都将安装在不同的电脑上,因此我必须将该解决方案应用于所有这些电脑,或者我可能只能在一台电脑上安装所有设置


你有什么建议吗?

如果你需要在不同的计算机之间同步这些信息,那么你需要某种集中服务来做到这一点

一个想法是

ZooKeeper是用于维护配置的集中式服务 信息、命名、提供分布式同步以及 提供团体服务。所有这些类型的服务都用于 分布式应用程序以某种形式出现


我担心的是,Zookeeper对于您的项目来说可能太多了,因为它是为分布式应用程序而设计的,而且可能有些过分,尽管您可以在单个节点上部署它。

如果您需要在不同的计算机之间同步这些信息,那么您需要某种集中的服务来做到这一点

一个想法是

ZooKeeper是用于维护配置的集中式服务 信息、命名、提供分布式同步以及 提供团体服务。所有这些类型的服务都用于 分布式应用程序以某种形式出现


我担心Zookeeper对于您的项目来说可能太多了,因为它是为分布式应用程序而设计的,而且可能有些过分,尽管您可以在单个节点上部署它。

我几乎不推荐Web API接口。 如果使用Web API,则可以更改存储设置的方式,并且只需更改Web API后端。获取设置的方法可以是相同的,您不必在消费应用程序或服务中更改任何内容


如果要直接连接到数据库,则必须在每个应用程序中至少存储到该数据库的连接字符串,如果该字符串正在更改,则必须更新所有使用者。

我几乎不推荐使用Web API接口。 如果使用Web API,则可以更改存储设置的方式,并且只需更改Web API后端。获取设置的方法可以是相同的,您不必在消费应用程序或服务中更改任何内容

如果要直接连接到数据库,则必须在每个应用程序中至少存储到该数据库的连接字符串,如果正在更改,则必须更新所有使用者