Web服务对象中的循环引用

时间:2011-10-11 03:16:14

标签: c# asp.net web-services reference

是否可以返回引用恰好为循环的对象,如父级中具有可访问其父级的子级列表的对象。使用c#webservices促进此类事情的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

没有限制Web服务阻止这种情况,但.Net中的默认序列化程序不知道如何序列化循环引用。您需要编写自己的序列化/反序列化代码并将其插入WCF。

您可以在此处找到使用WCF执行此操作的示例:http://code.msdn.microsoft.com/WCF-Custom-Serialization-43b3ee7a

答案 1 :(得分:1)

如果您使用的是WCF,则.net 3.5中添加的新功能允许您在没有额外代码的情况下执行此操作,您可以通过将IsReference添加到datacontract属性来序列化循环引用。见http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.isreference.aspx