我们的解决方案是一套可以在一台机器上运行或完全分布式的窗口和网络服务。
我们只需要一个配置将所有这些连接在一起(它恰好是一个 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 可以调出该应用程序来进行实际更新,并且有 2 种不同的风格,一种是 32 位,一种是 64 位。
或者有更好的方法吗?
最佳答案
我认为您应该能够在 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
关于c# - 如何同时更新 32 位和 64 位 machine.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19838980/