Веб-сервис ссылки махинаций

У меня есть.net веб-сервис (сквозной WS), который проходит через другой (базовый WS), передавая определенный пользовательский объект. оба WS включают сборку с определенным классом пользовательских объектов, но когда я добавляю ссылку службы на базовый WS в проходной WS, .net генерирует свой собственный тип этого класса в пространстве имен passthough WS. тогда это означает, что я должен использовать этот другой объект в другом пространстве имен вместо того, в котором он на самом деле дублирует "настоящий" класс / объект. возможно я не очень хорошо объясняю это.

я мог бы догадаться, что нужно вручную войти в сгенерированный класс обслуживания.net и заменить сгенерированный объект на "правильный", но мне придется делать это каждый раз, когда базовый сервис обновляется. немного боли по меньшей мере. это явно также влияет на типы возвращаемых данных, а также на аргументы, с которыми веб-методы вызываются.. dagnamit!

Это можно обойти? в идеале я хотел бы, чтобы оба WS использовали одни и те же объекты. или мне придется добавить конструкторы к сгенерированным объектам, которые берут базовые и просто назначить все свойства, как это? - надеюсь нет....

я понимаю, что WS должны быть независимыми от платформы, используя типы, которые должны быть доступны не только из.net или что-то еще.. поэтому идея заключается в том, чтобы убедиться, что вы используете только эти базовые типы, а не оборачивать их все в пользовательский объект передать все эти "свойства" как отдельные аргументы? любая помощь высоко ценится

Спасибо

натуральный

1 ответ

Решение

Если вы используете устаревшие веб-сервисы ASP.NET (он же старая школа), у вас есть в основном 2 варианта:

  1. Преобразуйте их в службы WCF и используйте ссылки на службы (вместо простых ссылок), чтобы использовать их. Службы WCF поддерживают повторное использование классов.

  2. Если вы хотите использовать устаревшую технологию веб-служб, вам придется пройти сложный путь, настроив способ создания прокси-класса.

Другие вопросы по тегам