Я успешно реализовал автономную службу WCF. Что касается устаревших версий, конфигурация привязки хоста считывается из нестандартного источника (вместо app.config). При портировании этой службы в IIS я столкнулся с проблемой загрузки настроек и обнаружил, что решение будет включать реализацию класса, унаследованного от ServiceHostFactory
.
Моя проблема, однако, заключается в том, что метод CreateServiceHost
получает только конкретный тип и URI из файла SVC, но я хотел повторно использовать этот класс для дальнейших реализаций и нуждался в дополнительной информации: например, интерфейс, который определяет ServiceContract
и привязку уже настроен.
Я нашел эту замечательную статью от @carlosfigueira, но его реализация использует фабрику для возврата узла, специфичного для службы, в отношении 1-к-1. Я, конечно, могу это сделать, но это приведет к нескольким конкретным фабрикам с большим количеством кода для копирования и вставки, и я бы не стал этого избегать. Является ли это возможным? Если да, то как я могу это сделать?
ServiceContract
не наследуется, я полагаю, что мне нужно передать интерфейс, который его объявляет (вместо конкретного класса), при выполнении методаAddServiceEndpoint
. Кроме того, мне нужен еще один параметр для загрузки правильных настроек привязки. Интересно, могу ли я передать дополнительные параметры в ServiceHostFactory... - person Gerardo Lima   schedule 18.05.2012web.config
, и мне нужно загрузить конфигурацию/привязку службы из нестандартного источника. ОднакоServiceHostFactory
вызывается .SVC только с конкретным экземпляром реализацииType
и базовыми адресами URI. Следовательно, как я могу обнаружить ServiceContract(s), которые реализованы этим конкретным классом? Более того, мне нужен ключ для загрузки правильных настроек конфигурации, а его нельзя проверить по метаинформации... - person Gerardo Lima   schedule 21.05.2012