Скрыть открытые свойства от DataContract - PullRequest
0 голосов
/ 28 января 2011

Я удалил атрибут [DataMember] из всех моих общедоступных свойств, но свойства по-прежнему отображаются в результатах моих операций WCF.Я нашел эту ссылку здесь , которая объясняет, если .Net находится на обоих концах провода, то DataMember не оказывает большого влияния на определение того, какие свойства включены в DataContract.

Итак, как исключить общедоступные свойства из результатов WCF?

Спасибо

1 Ответ

1 голос
/ 28 января 2011

Существует несколько различных способов работы сериализации в WCF. Они обозначены здесь . Обратите внимание, что классы [Serializable] также могут быть использованы.

Обратите внимание на последний элемент в этом списке: начиная с версии 3.5 с пакетом обновления 1 (SP1), классы, которые не аннотированы никакими опциями, будут по-прежнему сериализуемы инфраструктурой WCF. Однако, если вы сделаете это, у вас не останется никакого способа контролировать, как происходит эта сериализация и какие свойства сериализуются (именно поэтому я лично считаю, что добавить эту опцию было ошибкой, но это другая история).

Есть ли причина, по которой вы удалили атрибуты [DataContract] [DataMember]?

...