我有一個返回複數值(這是一棵樹)如何使用web服務返回接口或「複雜」值?
public class DocumentTreeNode
{
public MyDocument Data
{ get; set;}
private LinkedList<DocumentTreeNode> _children;
public IEnumerable<DocumentTreeNode> Children
{
get
{
return _children.AsEnumerable();
}
}
(...)
}
不幸的是,當我打電話的web服務,它返回
<?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/" />
我有雙重檢查,對象webservice的我我應該返回的不是空的。
我猜這意味着ASP.Net無法正確序列化我的類(由於IEnumerable?)。我打算使用Xml序列化並讓我的服務返回一個XmlDocument,但我不認爲這是最好的方法。
什麼是最簡單的方式來通過這個對象(用最少的工作)?
你使用WCF嗎? – Josh 2010-08-26 13:15:11
「DocumentTreeNode」使用的所有類型都是可ISerializable嗎?他們都需要,最好使用ISerializable屬性。請參閱:http://stackoverflow.com/questions/2365152/whats-the-difference-between-using-the-serializable-attribute-implementing-ise – cofiem 2010-08-26 13:16:42
是的,DocumentTreeNode被標記爲[Serializable],並且它的所有屬性都是可序列化 – Luk 2010-08-26 13:20:42