ASP MVC & MEF с файлами настроек плагина - PullRequest
2 голосов
/ 24 января 2012

В настоящее время у меня есть веб-сервис, который загружает все плагины, расположенные в его папке / plugins . Теперь проблема в том, что каждый плагин имеет свой собственный набор данных конфигурации, в настоящее время жестко запрограммирован и изолирован в один класс, но я хочу перенести это в файл myplugin.config.

Обычно веб-служба загружает свой собственный файл web.config, но я не уверен, что смогу заставить плагины использовать свои собственные. Как будто вы представляете, что основной веб-сервис использует NHibernate и выполняет CRUD-обработку с некоторыми произвольными данными, но один из плагинов добавляет слой кэширования, используя MongoDB, и имеет свои собственные данные строки подключения. Таким образом, веб-сервис MVC не должен заботиться об этих настройках, просто MyPlugin должен их читать.

Есть ли способ сделать это? Так как я просто хочу уйти от того, чтобы строка кода была встроена в код.

1 Ответ

1 голос
/ 09 февраля 2012

Я уже разобрался с этой проблемой, действительно смог сделать это без особой работы, когда узнал, как можно загружать файлы конфигурации.

Я удостоверился, что мой конфигурационный файл назван в честь сборки, загруженной через MEF, поэтому, если моя сборка была:

  • некоторые-заказ plugin.dll

Вы бы сделали файл конфигурации с именем:

  • некоторые-заказ plugin.dll.config

тогда вы бы позвонили:

var config = ConfigurationManager.OpenExeConfiguration("some-custom-plugin.dll");
var someValue = config.AppSettings["some-app-setting"];

Так что надеюсь, что это кому-нибудь поможет, потому что мне понадобилось время, чтобы найти эту простую вещь.

...