2011-01-27 76 views
0

我从所有公共属性中删除了[DataMember]属性,但属性仍显示在我的WCF操作的结果中。我发现这个链接here解释了如果.Net位于线的两端,那么DataMember对确定DataContract中包含哪些属性没有太大影响。隐藏DataContract的公共属性

那么,如何排除公共属性被包含在WCF结果中?

谢谢

+1

使用属性IgnoreDataMember? – vorrtex 2011-01-27 23:38:57

回答

1

WCF中的序列化有几种不同的方式可以工作。他们概述了here。请注意,也可以使用[Serializable]类。

请注意列表中的最后一项:从3.5 SP1开始,未用任何选项注释的类仍然可以由WCF基础结构序列化。但是,如果你这样做了,你将无法控制序列化的发生和序列化的属性(这就是为什么我个人觉得这个选项是错误的补充,但这是另一回事)。

是否有任何理由删除[DataContract] [DataMember]属性?

+0

我删除了[DataContract] [DataMember]属性来测试会发生什么。我很失望,发现他们无法控制包含哪些属性。那么,如何排除使用WCF序列化公共财产?感谢您的回应。 – 2011-01-28 13:35:27