至少在目前为止,经过测试,我发现一个实体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.

本文探讨了实体间形成的循环引用如何影响WCF序列化过程,导致客户端访问时出现找不到调用方法的错误。通过实例解释了在数据集中的行对表的引用方式,强调了避免此类错误的重要性。

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



