Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [DataContract] vs [Serializable], На сервис приходит пустой объект 
:(
    Опции темы
SpaceSpace
Дата 14.9.2009, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 10.4.2007
Где: Самара

Репутация: 2
Всего: 10



Всем привет.
Столкнулся с косяком, не могу понять как раскусить.

Есть сервис и датаконтракт.
сервис хостю на консоли,
запускаю
Генерю проксю по сервису.

Объект помечен [DataContract]

Так вот фишка в том, что когда я что-то запрашиваю у сервиса (метод без параметров) - мне все отлично приходит,
а когда передаю в метод сервиса объект-параметр (генеренный объект)
на сервис приходит пустой объект, - все поля имеют значения по умолчанию 0 и null
вложенные объекты есть, но их поля - тоже 0 и null

Прикол в том, чтьо если поменять атрибуты объекта с DataContract на Serializable - все начинает работать!

Сгенеренные объекты в зависимости от используемого атрибута отличаются.
У Serializable - больше полей(т.к. он весь класс считает сериализуемым)
у DataContract - только те поля которые я пометик как датамембер, но появились куча xxxSpecified полей и пропертей.
 
Объясните плз, почему не удается использовать [DataContract]\[DataMember]?
Где я прогнал?


Это сообщение отредактировал(а) SpaceSpace - 14.9.2009, 16:39


--------------------
Репутация - самое ценное, что есть у человека. Зарабатывают годы, теряют за мгновение.
70-565
MCPD Enterprise 3.5 
PM MAIL   Вверх
SpaceSpace
Дата 18.9.2009, 06:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 10.4.2007
Где: Самара

Репутация: 2
Всего: 10



Вот.

Добавлено @ 06:59
Вот у людей та же проблема.
http://blogs.microsoft.co.il/blogs/oshvart...fied-issue.aspx

http://thecodemonk.com/2009/04/27/first-us...ecified-fields/


но решения - жуткий изврат, теб более я публикую сервис и не контролирую того как сгенерят по нему проксю (

Получается если я выставляю сервис наружу, я еще должен дополнительно сообщить клиентам, что надо указать xxxSpecified=true??
это бага по моему.
Как бы вообще отказаться от xxxSpecified полей, чтобы они не генерились?

Это сообщение отредактировал(а) SpaceSpace - 18.9.2009, 07:09


--------------------
Репутация - самое ценное, что есть у человека. Зарабатывают годы, теряют за мгновение.
70-565
MCPD Enterprise 3.5 
PM MAIL   Вверх
PashaPash
Дата 18.9.2009, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 6
Всего: 49



SpaceSpace, как именно проксю генеришь? обычный вызов svcutil http://localhost:58797/Service1.svc генерит проксю без всяких xxxSpecified.


--------------------
PM MAIL WWW   Вверх
SpaceSpace
Дата 18.9.2009, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 10.4.2007
Где: Самара

Репутация: 2
Всего: 10



PashaPash, я генерю через студию.
я почему то наивно думал что студия юзает тот же svcutil ((

надо будет попробывать автоматизировать генерацию прокси через студию но уже по нормальному.
и посмотреть как работат.


--------------------
Репутация - самое ценное, что есть у человека. Зарабатывают годы, теряют за мгновение.
70-565
MCPD Enterprise 3.5 
PM MAIL   Вверх
PashaPash
Дата 18.9.2009, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 6
Всего: 49



SpaceSpace, через студию - как Service Reference? Или как Web Reference?


--------------------
PM MAIL WWW   Вверх
SpaceSpace
Дата 21.9.2009, 07:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 10.4.2007
Где: Самара

Репутация: 2
Всего: 10



PashaPash, конечно же как ServiceReference ;)


--------------------
Репутация - самое ценное, что есть у человека. Зарабатывают годы, теряют за мгновение.
70-565
MCPD Enterprise 3.5 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0599 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.