我有一个带循环引用的WCF合同。对于简单的父子关系,使用.NET 3.5SP1或更高版本的解决方案非常简单 - DataContract的IsReference属性(this page有一个很好的解释)。
然而,我的关系有三个层次:祖父母< - >父母< - >儿童。 “祖父母”有很多“父母”,“父母”有很多“孩子”。为了得到祖父母< - >父母关系工作,我有祖父母的IsReference设置 - 没问题。但为了得到父母< - >儿童关系工作,“父母”也需要是IsReference。一旦我设置了,我的服务就失败了 - 我想问题是当“祖父母”和“父母”都是IsReference时,序列化程序不知道该怎么做。
有没有办法用IsReference解决这个问题,还是我需要寻求不同的解决方案?
答案 0 :(得分:0)
我这个愚蠢的错误。 “父”是一个抽象类,当我需要标记抽象类时,我只尝试使用IsReference标记其中一个子类。