Я ищу предложения о том, как я могу построить расширяемый сервер WCF (с динамически загруженными службами), предпочтительно используя System.Addins или MEF.Идеи для расширяемого (addins/plugins) WCF-сервиса?
Сервер должен разместить любую службу WCF (содержащуюся в сборниках DLL, загруженную во время выполнения), которая реализует минимальный API-интерфейс плагина (StartService/StopService/GetStatus?/Etc).
This post - хорошее начало. Некоторые цели и вопросы, которые необходимо обсудить:
- Использовать/не использовать изолированный AppDomain для каждой службы?
- Как настроить каждую службу (конечные точки, транспортные протоколы)? Файл XML-config или лучшая альтернатива?
- Отложенная/ленивая загрузка сборок (при поступлении запроса на обслуживание)? Возможное? Полезно? Как?
- Перезагрузка сборки при изменении файла на диске (полезная для среды разработки);
- Перезапуск службы при изменении конфигурации на диске;
и, конечно же, другие идеи всегда приветствуются;)