Отправка Linq в классы SQL через веб-сервис - PullRequest
2 голосов
/ 05 октября 2009

У меня есть приложение для Windows и веб-сервис. Оба имеют сопоставление Linq to SQL с таблицей Customer. Та же таблица из той же базы данных, все то же самое. Я пытался отправить объект winapp.Customer в веб-службу, но webserviceReference.MyMethod () принимает объект webservice.Customer и не принимает winapp.Customer в качестве параметра. Пытался отлить winapp. Клиент на веб-сервис. Клиент, но тоже не работал. Есть ли способ сделать это?

Ответы [ 2 ]

3 голосов
/ 05 октября 2009

Нет, это невозможно сделать с помощью веб-сервисов ASMX. Они требуют, чтобы тип прокси и реальный тип были разных типов.

Вы можете сделать это с помощью WCF, хотя это нарушает идею SOA (клиент и сервер будут связаны общим кодом класса).

Наконец, существуют проблемы с передачей классов LINQ to SQL или Entity Framework с использованием любых веб-сервисов. Microsoft испортила и сериализует зависящие от реализации данные при передаче между уровнями. Это может иметь смысл, когда уровни находятся на одном и том же компьютере, но гораздо меньше смысла, когда они находятся на разных компьютерах.

0 голосов
/ 05 октября 2009

В вашем WinApp вам, вероятно, придется написать явное преобразование из winapp.Customer в webservice.Customer.

...