5

我正在做一个 wcf 项目。我的一些服务返回包含循环引用的对象。这些对象的序列化是通过在 DataContract 属性上将 IsReference 设置为 true 来处理的,因此如果我编写代码来调用这些服务,一切都会正常工作。但是对于简单的测试,我似乎更倾向于使用 GUI 界面 WcfTestClient.exe,结果 WcfTestClient 无法显示循环引用的对象。

我知道如果没有处理任何特殊情况,尝试显示包含相互引用的对象将导致无限递归。我只是想知道这是否意味着无法测试通过 WcfTestClient 返回循环引用对象的服务?谢谢。

4

1 回答 1

0

嗨,我对 WCF 测试客户端有同样的问题,即使 IsReference =true 也无法处理此循环引用。在 WCFTestClient.exe中发生了 mscorlib.dll错误中发生的“System.StackOverflowException”类型的未处理异常,但与您的 WCF 服务无关,这就是为什么它因 stackoverflow 错误而落入 Visual Studio Disassembly 的原因。关键是 WCFTestClient 不打算或期望像 Visual Studio 对象树这样的循环引用。希望你能理解。无论如何,好问题... :)

于 2013-03-04T13:22:34.570 回答