Форум на Kuban.ru (http://forums.kuban.ru/)
-   Разработка программ (http://forums.kuban.ru/f1024/)
-   -   Служба WCF и перенос типов (http://forums.kuban.ru/f1024/sluzhba_wcf_i_perenos_tipov-6406453.html)

LostDaemon 07.01.2015 16:26

Служба WCF и перенос типов
 
Добрый день, коллеги!

Бэкграунд: В клиент-серверном приложении на стороне клиента была библиотека, выполняющая прямые SQL запросы на сервер. Задача - перенести функциональность библиотеки в службу WCF, работающую непосредственно на сервере, чтобы "не выносить SQL сор из избы".

Чтобы не переносить "овердофига" методов из библиотеки, решил завернуть ее в службу целиком. Для каждого метода добросовестно описал интерфейс, все как положено и неплохо работает, вот только раздражает один нюанс. Все типы в библиотеке описаны в одном классе Types и WCF по какой то причине вместо типа, к примеру, Types.Staff без спроса генерирует новый тип TypesStaff с абсолютно аналогичной структурой и содержимым.

Приходится на стороне клиента заниматься совершенно ненужным обратным переводом из TypesStaff в Types.Staff.

В чем может быть причина?

В интернете полно информации о работе со сложными типами WCF, но все они описаны в классе самой службы а не в сторонней библиотеке. Хотя разницы вроде и нет, но может в этом проблема?

LostDaemon 08.01.2015 13:42

Проблема, как оказалось, лежала на поверхности. Если на стороне сервера возвращаемое значение имеет тип скажем mylib.Types.Staff, то и на стороне клиента он ищет такой же тип. Если не находит, то генерирует новый, уже от имени сервиса WCF - Myservice.TypesStaff. Поэтому проблема решилась возвратом библиотеки на сторону клиента, но использованием ее только для описания типов. Функциональность обмена данными перенесена на WCF.


Текущее время: 16:04. Часовой пояс GMT +3.