WCF и ObservableCollection <T>- элементы есть, но пустые? - PullRequest
1 голос
/ 07 сентября 2011

У меня есть метод службы WCF, который возвращает ObservableCollection<T>.На стороне сервера, прежде чем возвращать результат, я вижу, что коллекция заполнена элементами, а элементы содержат данные, как и ожидалось.На стороне клиента коллекция заполнена тем же числом элементов, что и на стороне сервера, но все свойства в каждом элементе являются нулевыми (есть четыре строки и тип перечисления).

ТипДекларация для возвращаемых элементов не украшена атрибутами [DataContract] и [DataMember], поскольку она находится в общем .dll, и до сих пор это не было проблемой для других типов в этой сборке.Этот конкретный тип украшен атрибутом [Serializable]. Отлов ответа в Fiddler показывает, что элементы все еще содержат данные до десериализации.Почему значения свойств элементов будут потеряны при десериализации?

Ответы [ 2 ]

0 голосов
/ 07 сентября 2011

Просто для удовольствия я украсил его атрибутами [DataContract] и [DataMember], и это сработало.Похоже, что enum не сериализовал / десериализовал правильно.Хотел бы я иметь лучшее представление о том, почему.

0 голосов
/ 07 сентября 2011

Определения типов в dll должны быть помечены как сериализуемые.

[Serializable()]        
public class TestSimpleObject  {...
...