我想了解更多的上下文到舊的.NET Web服務序列化。比方說,我從我的.asmx方法之一返回一個複雜的類型。這種類型必須是可串行化的嗎?或者,Web服務引用和Web服務iteself是否負責所有這些序列化和反序列化?需要自定義類型的序列化?
0
A
回答
1
如果你想發送一個複雜的類型,它必須是可串行化的。你可以通過幾種方法來做到這一點,一種方法是使用Serializable屬性,這是很常見的。但是,如果您的自定義類型不是可序列化的,那麼您的Web服務將無法將您的對象放入網絡併發送給客戶端。
1
ASMX在內部使用XmlSerializer序列化類型,因此所有常用的XmlSerializer規則都適用(類型需要具有公共的無參數構造函數,任何公共字段和公共get/set屬性都將被序列化,System.Xml.Serialization屬性具有特殊含義等)
[Serializable]屬性對於XmlSerializer是完全沒有意義的,因此對於ASMX也沒有任何意義。它最初是爲BinaryFormatter(在.NET遠程處理中使用的)引入的,現在由DataContractSerializer(在WCF中使用)支持,作爲推薦的[DataContract]編程模型的替代方法。
相關問題
- 1. 序列化類型定義?
- 2. 強類型DataSet列需要自定義類型來實現IXmlSerializable?
- 3. NETJson,如何序列化自定義類型集合中的自定義類型
- 4. 自定義類型需要初始化程序來聲明與自動?
- 5. 自定義類,需要
- 6. 如何序列化自定義對象類型的列表
- 7. 自定義序列化器中的自定義序列化?
- 8. 序列化循環對象樹 - StackOverflowError - 需要自定義序列化代碼
- 9. Json.Net的自定義類型序列化程序
- 10. 排序自定義類型的列表
- 11. 實現複合數據類型的自定義XML序列化/反序列化?
- 12. Json.NET自定義序列化/第三方類型的反序列化
- 13. 如何自定義ServiceStack.OrmLite中複雜類型的序列化/反序列化
- 14. C#自定義序列化和反序列化的簡單類
- 15. 可序列化類的子類需要可序列化?
- 16. 序列化自定義類以XML
- 17. JSon.Net反序列化自定義類
- 18. 無法序列化自定義類
- 19. java自定義類不可序列化
- 20. 如何序列化ObservableCollection的自定義類型
- 21. XmlSerializer的序列化不能自定義類型
- 22. C#使用自定義類型成員的Xml反序列化
- 23. 在ASP.NET ViewState中序列化自定義類型的問題
- 24. 在OSGi中自定義類型數組的反序列化
- 25. 自定義類型在ASP.NET MVC序列化問題的WebAPI
- 26. WP自定義帖子類型分類 - 需要創建類別
- 27. 序列化類型定義的數據類型
- 28. binary_search()需要的自定義類比較
- 29. 如何反序列化JSON自定義類型
- 30. 如何使自動類型定義時序列化成XML
...如果自定義類型包含其他自定義類型作爲內部字段,那麼這些類型也必須是可序列化的。 – 2009-10-02 13:41:59
@Charles絕對......只是用Serializable屬性標記你的類型並不意味着你的類型實際上可以被序列化。如果Web服務試圖序列化它並由於內部字段或你有什麼而失敗,那麼你將得到一個SerializationException – Joseph 2009-10-02 13:46:37