Параметры конфигурации app.config модуля PRISM - PullRequest
2 голосов
/ 26 января 2012

У нас есть начало модульного wpf-приложения, созданного с использованием призмы.

Мы хотим, чтобы каждый модуль имел определенную конфигурацию - настройки приложения / строки подключения и т. Д.

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

Спасибо.

Ответы [ 3 ]

2 голосов
/ 26 января 2012

Вы можете попробовать переименовать app.config для каждого конкретного модуля во что-то вроде YourModule.Name.config и загрузить этот файл в свой модуль с кодом вроде:

var filename = Assembly.GetExecutingAssembly().Location;
var configuration = ConfigurationManager.OpenExeConfiguration(filename);
if (configuration != null)
    _setting = configuration.AppSettings.Settings["SettingName"].Value;

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

1 голос
/ 15 апреля 2013

Я написал сообщение в блоге, решающее проблему, которую вы пытаетесь решить. надеюсь, это поможет.

http://www.thedailyomelette.com/2013/02/maintain-multiple-configs.html

0 голосов
/ 30 января 2012

Имейте интерфейс IConfigurationManager в вашем инфраструктурном проекте.Создайте проект ConfigurationManger, который может обрабатывать разделы настроек, соответствующие модулям в файле конфигурации. Зарегистрируйте этот менеджер конфигурации с помощью IConfigurationManager в вашем приложении.С каждым модулем вы вводите экземпляр менеджера конфигурации и читаете / записываете значения конфигурации.

class MyModule(IConfigurationManager config, ....)
{
}
...