Результаты ASP.NET веб-службы , прокси-классов и преобразования типов

как вы, наверное, можете сказать, мой рэп, я только что получил мои приглашения так я полный n00b! :D во-Первых, я бы хотел сказать спасибо Джефф и команде за то, что выглядит как будет отличный сайта для сообщества.

Итак, мой вопрос:

я еще созвонимся к ASP.NET мир, чтобы я мог быть способ покинуть базу здесь, но пока это лучше моего (ограниченные) знания!

допустим, у меня есть стандартный бизнес-объекта.. "Контакт" Бизнес имен.. я пишу Веб-Службы для получения Контактной информации из базы данных, и возвращает его. Я тогда написать клиентское приложение к запросу сказал детали.

Итак, я же потом создать программу метод, который получает в "Контакт", а не какой-то магии, такие как Utils.BuyContactNewHat() сказать.. Что, конечно, принимает Контакт типа Business.Contact.

потом я вернусь к моей клиентское приложение и хотите использовать BuyContactNewHat метод, поэтому я добавил ссылку на мой Utils имен и там. Тем не менее, проблема возникает в связи с:

Contact c = MyWebService.GetContact("Rob);
Utils.BuyContactNewHat(c); // << Error Here

С типом возвращаемого значения GetContact MyWebService.Contact, а не Business.Contact как и ожидалось.
Я понимаю, почему это было сделано, поскольку при доступе к веб-сервис, вы на самом деле программирования при работе с прокси-класс, созданный с помощью WSDL..

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

Спасибо, ребята, извините за длинный вопрос, просто хотел убедиться, я четко объяснил задачу :)


РЕДАКТИРОВАТЬ: Спасибо, Ланс Фишером ответ написал. Если кто-то может рекомендовать и хорошие методы для "deep copy" на объектах идет речь, я бы с удовольствием некоторых входных! :)


РЕДАКТИРОВАТЬ: Спасибо, Дэн Томпсон за идею о копировании кода, созданного с помощью VS через WSDL. Я посмотрел на такого рода сценарии и раньше, но проблема в том, что услуги succeptable измениться, что означает "взлом" требует регенерации, повторно копировать, редактировать и т.д. Я бы это 1, так как это хорошая идея, особенно для услуг, которые являются довольно зрелые и, скорее всего, не изменится. Спасибо.

Найдено 3 ответа:

ASP.NET Web Service Results, Proxy Classes and Type Conversion

http://stackoverflow.com/questions/6681/asp-net-web-service-results-proxy-classes-and-type-conversion

Посмотреть решение →