於某個WCF Service傳入物件時,遇到了此錯誤:
無法序列化型別 'System.Linq.Enumerable+WhereEnumerableIterator`1[System.String]'。請考慮以 DataContractAttribute 屬性標記該型別,並以 DataMemberAttribute 屬性標記該型別要序列化的所有成員。如果該型別是集合,請考慮以 CollectionDataContractAttribute 標記該型別。如需其他支援型別,請參閱 Microsoft .NET Framework 文件。原因出在該物件有一型別 IEnumberable
由MSDN文章上可知:IEnumberable使用GetEnumerator()做為序列化的呼叫Method,而IList是用indexer,因此小弟猜測是某些預設的序列化動作不同所致;因此若要與WCF溝通集合型別的傳遞,建議還是以List優於IEnumberable。
【延伸閱讀】
沒有留言:
張貼留言