Один и тот же класс входит в разные веб-сервисы - PullRequest
0 голосов
/ 04 августа 2010

У меня есть 3 разных веб-сервиса, работающих с одной библиотекой классов. Эти три веб-сервиса возвращают один и тот же объект типа класса. Но на стороне клиента я получаю 3 разных типа объектов, даже если они одинаковые. Я не могу относиться к ним как к одному классу.

Я думаю, что я добавлю метод, который может принимать объект и устанавливать свойства с опорами объекта.

Есть ли способ (что-то вроде наследования)?

Ответы [ 2 ]

0 голосов
/ 04 августа 2010

Можно использовать инструмент wsdl.exe (это то, что Visual Studio делает для веб-ссылок за кулисами) и передать параметр /shareTypes. До тех пор, пока типы, возвращаемые этими 3 веб-службами, действительно имеют одинаковый тип, сгенерированный код будет содержать только один сгенерированный класс вместо дублирования его для каждой веб-службы.

wsdl.exe /shareTypes http://server/service1.asmx http://server/service2.asmx etc
0 голосов
/ 04 августа 2010

Разве вы не можете просто поместить общий класс (классы) в отдельный проект библиотеки классов и сослаться на него из каждого из ваших трех проектов веб-служб ??

Если вам нужно перемещаться по значениям свойств, ярекомендую вам взглянуть на AutoMapper , чтобы помочь вам минимизировать «код обезьяны», необходимый для выполнения этих заданий.

...