如何更新32& 64位machine.config

时间:2013-11-07 14:52:30

标签: c# .net .net-4.5 32bit-64bit machine.config

我们的解决方案是一套Windows和Web服务,可以在一台机器上运行或完全分发。

我们只需要一个配置来将所有这些绑定在一起(它恰好是RabbitMq端点,但这并不重要)。

我们的一些服务需要以32位应用程序的形式运行,一些Web服务将在32位应用程序池中运行,因此我们将混合的进程运行为64位和32位,通常在同一台计算机上运行。

我们首先将我们的一个配置文件放入.net machine.config中。我目前的任务是编写一个简单的win-forms UI来使用我们的配置来更新machine.config。

但是,默认情况下,使用

打开机器配置
config = System.Configuration.ConfigurationManager.OpenMachineConfiguration();

打开与正在运行的UI的位相关联的machine.config,但是我需要同时更新32&具有相同值的64位机器配置文件

有没有已知且安全的方法来做到这一点?

我的第一直觉是拥有一个可以调用UI来进行实际更新的控制台应用程序,并且有两种不同的口味,一个32位和一个64位。

或者有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

我认为您应该能够使用ConfigurationManager上的OpenMappedMachineConfiguration方法打开特定的计算机配置文件。

var path = "path to desired machine config";
ConfigurationFileMap cfm = new ConfigurationFileMap(path);
Configuration config = ConfigurationManager.OpenMappedMachineConfiguration(cfm);

有关该方法的更多信息,请访问: http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.openmappedmachineconfiguration(v=vs.110).aspx