WCF Service Reference генерирует свой собственный интерфейс контракта, не будет повторно использовать мой
Мой первый вопрос, так что надеюсь, что он подходит:
Сборка общего интерфейса - У меня есть «общая» сборка с интерфейсом, назовем егоIDocRepository
, Это отмечено[ServiceContract]
и есть несколько[OperationContract]
методы.
Сборки реализации WCF - У меня есть два сервисных проекта WCF, каждый из которых ссылается на общую сборку, каждый реализующий этот интерфейс как сервис WCF.
Потребительская сборка Наконец, у меня есть «клиентский» проект, также ссылающийся на общую сборку, со ссылкой на каждую из двух служб WCF.
Однако сервисные ссылки, сгенерированные в потребительской сборке, происходят из автоматически сгенерированной версии интерфейса:
public partial class ExampleClient : System.ServiceModel.ClientBase<SomeNamespace.ExampleSvcRef.IDocRepository>, SomeNamespace.ExampleSvcRef.IDocRepository {
Что я ожидал
Я бы надеялся, что обе ссылки вместо этого автоматически унаследуют интерфейс, который я определил, что сборка потребитель / клиент также ссылается. Вроде как повторное использование классов, которые оно предоставляет для параметров и возвращаемых типов, но для интерфейса службы.
Зачем
Так что я могу создать экземпляр любого из сервисных эталонных прокси и привести его к моему типу интерфейса.
Так что я мог бы каждый раз модифицировать сгенерированный код вручную, но должен быть лучший способ ...?
(изменить: у меня есть опции «Повторное использование типов в ссылочных сборках» и «Повторное использование типов во всех ссылочных сборках», выбранные для обеих ссылок на службы)