至少在目前为止,经过测试,我发现一个实体A引用了另外一个实体成员B,如果另外一个成员B又引用实体成员A,如果A为null,没问题,如果A不为空,与B形成实例上的循环引用,就会导致客户端访问提示找不到调用方法的错误,我觉得应该是这个循环引用导致返回客户端时进行序列化时,导致无限循环引起的,当然,如果实例上不形成循环,就没问题。比如A的实例a,B的实例b,a.B引用的是b,而.A引用的如果是a,形成实例上的循环引用,就会有问题,而如果b.A引用的是另外一个A的实例a1,就没问题。
这里说明一下,我在前面博文中模拟Datatable数据集中的行对表,列对行的引用是不行的,会导致上面提到的错误,请大家注意,否则出了错很难调试的。
当然,这也许是WCF RIA Service序列化的一个小Bug.
本文探讨了实体间的循环引用如何导致WCFRIAService在序列化过程中出现问题,尤其是在客户端尝试访问时出现调用方法错误的情况,并提供了解决这一问题的思路。

被折叠的 条评论
为什么被折叠?



