2010-05-20 22 views
0

我有一个带有循环引用的WCF合同。对于简单的父子关系,使用.NET 3.5SP1或更高版本的解决方案非常简单 - DataContract的IsReference属性(this page有很好的解释)。数据合同中的WCF循环引用

但是,我的关系有三个层次:祖父母< - >父母< - >孩子。一个“祖父母”有很多“父母”,一个“父母”有很多“孩子”。为了得到祖父母< - >父母关系的工作,我在祖父母上设置了IsReference - 没问题。但为了让父母< - >子女关系有效,“父母”也必须是IsReference。一旦我确定了,我的服务就会失败 - 我想象的问题是,当“祖父母”和“父母”都是IsReference时,序列化程序不知道该怎么做。

有什么方法可以解决这个IsReference或我需要追求不同的解决方案吗?

回答

0

我的部分愚蠢的错误。 “父”是一个抽象类,当我需要标记抽象类时,我只尝试用IsReference标记它的一个子类。