Конфигурация деталей MEF, где хранить? - PullRequest
5 голосов
/ 02 ноября 2010

В ASP.NET, .NET 4.0, MEF я помещаю все детали в папку и импортирую их, используя DirectoryCatalog. Все отлично. Некоторые из частей имеют связанные конфигурации. Я не хочу помещать их в web.config. Возможно, хорошим подходом будет файл config рядом с деталью с добавлением .config в конец.

Каков наилучший способ хранения конфигурации детали?

1 Ответ

3 голосов
/ 02 ноября 2010

Я смог создать отдельный файл конфигурации для каждой DLL и успешно смог прочитать ключи.Но когда я попытался создать пользовательский раздел конфигурации, я не смог прочитать из конфигурации приложения DLL.Он всегда хотел прочитать из MEF Consumer exe.

Вот код для чтения из собственной конфигурации потребляемого dll-приложения

var appConfig = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location); 
    return appConfig.AppSettings.Settings["SomeKeyName"].Value;  

Так как я не смог прочитать из пользовательской конфигурациираздел, я закончил с использованием XML и сериализации пользовательского раздела конфигурации для объекта.Поскольку вы только получаете информацию о почтовом сервере, у вас не будет проблем с использованием app.config.

...