Вопрос

Наше решение - это набор Windows и веб -сервисов, которые могут работать на одной машине или быть полностью распределенными.

Нам нужен только один кусок конфигурации, чтобы связать все это вместе (это является конечной точкой RabbitMQ, но это не важно).

Некоторые из наших услуг должны работать как 32 -битные приложения, некоторые из веб -сервисов будут работать в 32 -битных пулах приложений, поэтому у нас есть сочетание процессов, работающих как 64 и 32 -битные, часто на одной машине.

По предпочтению мы поместили наш один кусок конфигурации в .net machine.config. Моя текущая задача состоит в том, чтобы написать пользовательский интерфейс Forms Forms для обновления Machine.config с нашей частью конфигурации.

Однако по умолчанию открытие конфигурации машины с

config = System.Configuration.ConfigurationManager.OpenMachineConfiguration();

Однако открывает машину. Мне нужно обновить файлы конфигурации 32 и 64 -битных машин с одинаковым значением.

Есть ли известный - и безопасный - метод для этого?

Мой первый инстинкт - иметь приложение для консоли, которое пользовательский интерфейс может вызвать, чтобы сделать фактическое обновление, и иметь 2 разных вкуса один 32 и один 64 бит.

Или есть лучший способ сделать это?

Это было полезно?

Решение

Я думаю, вы сможете использовать OpenMappedMachineConfiguration Метод на конфигурации Manager, чтобы открыть конкретный файл конфигурации машины.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top