Столкновение пространства имен службы WCF, все в одном решении - PullRequest
1 голос
/ 09 января 2012

У меня есть библиотека классов WCF, сервисный клиент WCF и сервисный сервер WCF в одном визуальном студийном решении, и у меня есть проблема.

В клиенте службы WCF я использую библиотеку рабочих классов, используя библиотеку классов общих типов, и мои svcutil.exe классы, сгенерированные из .wsdl, конфликтуют с этими классами. В библиотеке классов WCF в интерфейсе сервиса я использую те же самые общие типы из библиотеки классов, что и библиотеку рабочих классов.

Можно ли использовать в своем решении оригинальные классы из библиотеки, на которые я могу ссылаться в этом проекте? И использовать сгенерированные классы из .wsdl только тогда, когда я в другом решении? или, может быть, я должен разработать это по-другому?

Спасибо!

1 Ответ

4 голосов
/ 09 января 2012

Вы можете использовать аргумент /namespace для svcutil.exe , чтобы указать другое пространство имен для создаваемых классов.

Если вы хотите совместно использовать одни и те же определения контракта данных между клиентом и сервером, которые находятся в вашей клиентской библиотеке WCF , вы можете вообще пропустить svcutil.exe и использовать ChannelFactory напрямую. Ссылка содержит пример того, как это сделать.

...