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