Я успешно реализовал автономную службу WCF. Для устаревших вопросов конфигурация привязки хоста считывается из нестандартного источника (вместо app.config). При переносе этой службы в IIS я сталкиваюсь с проблемой загрузки параметров, и я обнаружил, что решение предполагает реализацию класса, унаследованного от ServiceHostFactory
.WCF - Внедрение ServiceHostFactory для использования в контексте IIS (файл svc)
Моя проблема состоит в том, что метод CreateServiceHost
получает только конкретный тип и URI из SVC-файла, но я хотел бы повторно использовать этот класс для дальнейших внедрений и нуждаться в дополнительной информации: например, интерфейс, который определяет ServiceContract
и привязка уже настроена.
Я нашел this excellent article от @carlosfigueira, но его реализация использует фабрику, чтобы вернуть хост, специфичный для службы, в соотношении 1 к 1. Я уверен, что смогу это сделать, но это приведет к нескольким конкретным фабрикам, с большим количеством кода копирования и вставки, и я бы избегал этого. Является ли это возможным? Если да, то как я могу это сделать?
Ваш завод по обслуживанию, когда он получает конкретную услугу, должен иметь возможность разрешить эту информацию, нет? –
Поскольку атрибут 'ServiceContract' не наследуется, я предполагаю, что мне нужно передать интерфейс, который объявляет его (вместо конкретного класса), при выполнении метода AddServiceEndpoint. Кроме того, мне нужен еще один параметр для загрузки правильных настроек привязки. Интересно, могу ли я передать дополнительные параметры в ServiceHostFactory ... –
Редактировать вопрос с немного дополнительной информацией о том, что вы пытаетесь выполнить, мне трудно понять, что именно вы хотите. Я использую единый произвольный завод, и он проходит в конкретном классе, но конфигурация выполняется в web.config. –