【发布时间】:2011-03-30 13:46:56
【问题描述】:
我有一个类ClassA,它有一个包含ClassB 类型的属性,它有一个ClassA 类型的字段。当我尝试通过 WCF 序列化它时,由于它的递归性质,我得到了一个异常。解决方案是将IsReference=true 添加到ClassA 的数据合约定义中。
这很好,除了我有ClassA 的成员,它们标有DataMember(IsRequired=true) 属性,一旦我添加了IsReference=true,它就会抱怨事情不能既是IsReference=true,又是@ 987654331@。
我不明白为什么会这样,我想知道是否有解决方法?
我想声明我的数据成员,以便它们在 xml 中需要?
我已经看过this post,但我仍然不清楚答案。如果我想防止发出默认值,那么我可以在 IsRequired=true 旁边使用 EmitDefaultValues=false (这就是我想要做的)。还有其他解决方法吗?
【问题讨论】:
标签: .net wcf datacontract datamember