我想通過提供一個json輸出流來承載一個響應傳入請求的WCF服務。我有以下類型使用DataContractJsonSerializer
[DataContract]
[KnownType(typeof(List<HubCommon>))]
[KnownType(typeof(Music))]
[KnownType(typeof(AppsAndPlugins))]
[KnownType(typeof(Notifications))]
[KnownType(typeof(Scenes))]
[KnownType(typeof(Skins))]
[KnownType(typeof(Ringtones))]
[KnownType(typeof(Alarms))]
[KnownType(typeof(Widgets))]
[KnownType(typeof(Wallpapers))]
[KnownType(typeof(Soundsets))]
public class HubCommon{}
在我* .svc.cs文件我下面
List<HubCommon> hubContent = _ldapFacade.GetResults(query);
MemoryStream stream = new MemoryStream();
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(HubCommon));
serializer.WriteObject(stream,hubContent);
所以基本上我試圖序列化列表到JSON,但我得到的下面的錯誤「WriteObject」執行: -
服務器在處理請求時遇到錯誤。異常消息是'Type'System.Collections.Generic.List`1 [[HubContentCore.Domain.HubCommon,HubContentCore,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]',數據協定名稱爲'ArrayOfHubCommon:http ://schemas.datacontract.org/2004/07/HubContentCore.Domain'不是預期的。將任何未知的靜態類型添加到已知類型列表中 - 例如,使用KnownTypeAttribute屬性或將它們添加到傳遞給DataContractSerializer的已知類型列表中。
我在這裏錯過了什麼?
在此先感謝。
謝謝! Wayyy太多的屏幕盯着一天...完全錯過了。真的很感激它。 – Cranialsurge 2010-10-06 23:52:29
:D非常感謝Rob幫助你停止整天盯着屏幕大聲笑 – 2011-07-21 03:30:30