Общие DTO для нескольких веб-сервисов в VS2010 - PullRequest
4 голосов
/ 09 сентября 2010

У меня есть коллекция веб-служб WCF, которые используют общую модель DTO.

Проблема заключается в том, что когда я добавляю ссылки на службы в Visual Studio 2010, прокси-сервер, сгенерированный для каждой из веб-служб, имеет свое собственное пространство имен (внутреннее для решения), что означает, что у меня по сути есть дублированные DTO на каждомссылки на сервисы.

Есть ли чистый способ преодолеть это и поделиться dto, если не считать фасада над всей группой сервисов?

Приветствия.

Ответы [ 2 ]

5 голосов
/ 09 сентября 2010

Вместо создания клиентских прокси с помощью функциональности «Добавить ссылку на службу» в Visual Studio их можно сгенерировать с помощью инструмента командной строки Visual Studio svcutil.exe. Передайте URL-адрес метаданным для каждого сервиса, и svcutil должен выяснить, какие у них общие типы.

.Net Потребляющая веб-служба: идентичные типы в двух разных службах

Я не уверен, есть ли более простой / лучший способ.

1 голос
/ 09 сентября 2010

Вы должны иметь DTO в отдельной библиотеке.Добавьте ссылку на эту библиотеку в ваш клиентский проект.И вы можете настроить генерацию прокси на используемый объект из указанной библиотеки.Щелкните правой кнопкой мыши ссылку на службу и выберите «Настроить ссылку на службу». Должна быть опция «Повторное использование типов в ссылочных сборках».

...