Веб-сервис ссылки махинаций
У меня есть.net веб-сервис (сквозной WS), который проходит через другой (базовый WS), передавая определенный пользовательский объект. оба WS включают сборку с определенным классом пользовательских объектов, но когда я добавляю ссылку службы на базовый WS в проходной WS, .net генерирует свой собственный тип этого класса в пространстве имен passthough WS. тогда это означает, что я должен использовать этот другой объект в другом пространстве имен вместо того, в котором он на самом деле дублирует "настоящий" класс / объект. возможно я не очень хорошо объясняю это.
я мог бы догадаться, что нужно вручную войти в сгенерированный класс обслуживания.net и заменить сгенерированный объект на "правильный", но мне придется делать это каждый раз, когда базовый сервис обновляется. немного боли по меньшей мере. это явно также влияет на типы возвращаемых данных, а также на аргументы, с которыми веб-методы вызываются.. dagnamit!
Это можно обойти? в идеале я хотел бы, чтобы оба WS использовали одни и те же объекты. или мне придется добавить конструкторы к сгенерированным объектам, которые берут базовые и просто назначить все свойства, как это? - надеюсь нет....
я понимаю, что WS должны быть независимыми от платформы, используя типы, которые должны быть доступны не только из.net или что-то еще.. поэтому идея заключается в том, чтобы убедиться, что вы используете только эти базовые типы, а не оборачивать их все в пользовательский объект передать все эти "свойства" как отдельные аргументы? любая помощь высоко ценится
Спасибо
натуральный
1 ответ
Если вы используете устаревшие веб-сервисы ASP.NET (он же старая школа), у вас есть в основном 2 варианта:
Преобразуйте их в службы WCF и используйте ссылки на службы (вместо простых ссылок), чтобы использовать их. Службы WCF поддерживают повторное использование классов.
Если вы хотите использовать устаревшую технологию веб-служб, вам придется пройти сложный путь, настроив способ создания прокси-класса.