我有一个返回复杂值的web服务(这是一棵树)
public class DocumentTreeNode
{
public MyDocument Data
{ get; set;}
private LinkedList<DocumentTreeNode> _children;
public IEnumerable<DocumentTreeNode> Children
{
get
{
return _children.AsEnumerable();
}
}
(...)
}
不幸的是,当我调用webservice时,它会返回
<?xml version="1.0" encoding="utf-8"?>
<DocumentTreeNode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://tempuri.org/" />
我已经仔细检查了,我应该返回的对象不是空的。
我猜这意味着ASP.Net无法正确序列化我的类(由于IEnumerable?)。我打算使用Xml序列化并让我的服务返回一个XmlDocument,但我不认为这是最好的方法。
传递此对象的最简单方法是什么?(只需最少的工作)?
答案 0 :(得分:1)
序列化程序会跳过返回接口的属性。它需要一个具体的类型,否则如果没有附加的类型元数据,就不可能进行重新水合,这不是OOTB序列化的一部分。