首页 新闻 会员 周边

WCf 返回IList<>问题

0
悬赏园豆:80 [已关闭问题]

为什么不能返回IList<>啊?ArrayList也不行。只能返回List<>,我只用再不考虑跨平台。只要能用。只想返回IList<>我应该怎么办啊?大家帮下我啊。困扰中。。。。。

zwd1943的主页 zwd1943 | 初学一级 | 园豆:120
提问于:2009-01-04 12:50
< >
分享
其他回答(1)
0

你看看你的协议绑定是不是支持,还有就是序列化问题

GUO Xingwang | 园豆:3885 (老鸟四级) | 2009-01-04 13:46
0

在 WCF 中,由於它要求所有在 WCF 資料流中通訊的物件資料都必須要有一個明確的型別,以利 WCF 的序列化與反序列化用,因此它無法傳遞 object 這種未知型別的物件,所以 WCF 在預設情況下,只能夠傳遞由資料合約 (Data Contract) 所描述的物件 (此即已知型別問題,是一種由開發團隊所設計的行為)。

不過,如果你認定該 object 代表的型別的話,你就必須要在資料合約中加上 KnownTypeAttribute 宣告,讓 WCF 的序列化引擎可以把 KnownTypeAttribute 所定義的型別當做 object 的預設型別,如此就可以在資料合約中使用 object 型別的資料了。

[DataContract]
[KnownType(typeof(UserAccount))]
public class Response
{

   [DataMember]
   public string ResponseText;

   [DataMember]
   public bool CompletedSuccesfully;

   [DataMember]
   public object ResponseObject;

}


http://wizardwu.cnblogs.com/

WizardWu | 园豆:1402 (小虾三级) | 2009-01-04 15:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册