我發現[DataContract]
和[DataMember]
屬性有點麻煩,寧願在配置方法或代碼中使用代碼。這可能嗎?設置DataContract和DataMember不具備所有屬性
回答
根本不需要使用這些屬性。 DataContractSerializer
將使用getter和setter序列化所有公共屬性,但在序列化具有導航屬性的實體的情況下,由於「循環引用」,您將很容易以異常結束。
爲了避免這種情況的例外您必須對您的實體類上要serilize或IgnoreDataMember
你不想序列化的每個屬性的每個屬性使用[DataContract(IsReference = true)]
與DataMember
。
最後一個也是最複雜的選項是完全避免屬性,而自定義類實現IDataContractSurrogate
來控制類型之外的序列化。
您還可以編寫完全自定義的序列化過程,或使用XML序列化或二進制序列化及其所有要求。
但是我在我的類中添加了[DataContract],並且我可以從WCF操作中返回它...但內容是空白的,所以我將[DataMember]添加到幾個屬性中,並且突然那些(並且只有那些)是在序列化結果中返回。那麼,爲什麼我的工作不如你說默認所有屬性被返回? –
順便說一下,它們是{get;設置;} –
一旦添加了'DataContract'屬性,**必須**用'DataMember'屬性標記要序列化的屬性。我描述的默認序列化只有在您根本不使用'DataContract'屬性的情況下才有效。 –
不,DataContractSerializer是一個可選的串行器 - 你必須告訴它你想包括什麼。
與其他序列化程序一樣,您需要使用諸如NonSerializedAttribute或XmlIgnoreAttribute之類的東西來告訴序列化程序將事情放在一邊。
- 1. WCF和[DATACONTRACT] + [DATAMEMBER]
- 2. WCF REST:ReadAsDataContract使用類「沒有」裝修屬性DataContract和DataMember
- 3. 添加DataMember和DataContract onbuild
- 4. 如何設置斷點爲[DataMember]屬性
- 5. WCF DataContract DataMember順序?
- 6. DataContract,默認DataMember值
- 7. 向所有類中添加[DataContract]和[DataMember]是否會影響性能
- 8. 在實體框架POCO模板中添加[DataMember] [DataContract]屬性
- 9. 爲什麼.aspx頁面中的WebMethod忽略DataContract - DataMember屬性
- 10. 帶有抽象DataMember數組的WCF DataContract
- 11. DataContractSerializer:如何在沒有DataContract/DataMember屬性的情況下序列化類/成員
- 12. DataContract屬性-WCF
- 13. querySelectorAll - 獲取所有具有屬性設置的標籤?
- 14. MonoTouch:如何設置「不備份」屬性
- 15. 是WCF所需的DataContract屬性
- 16. 具有DataContract和DataMembers的TypeBuilder
- 17. Wcf Web服務,重用類型與私有setter屬性和沒有DataContract/DataMember獲取空值
- 18. 如何在自動生成的代理屬性上設置[DataMember]
- 19. 爲所有子組件設置屬性
- 20. 在DataSource上找不到DataMember屬性[ObjectName]
- 21. JsObservable設置具有子屬性的屬性
- 22. 使用ContractNamespace屬性設置WCF DataContract名稱空間
- 23. DataContract XML序列化和XML屬性
- 24. .NET - Web服務是否有屬性[DataContract]?
- 25. 如何快速設置所有表的所有列屬性「UpdateCheck」?
- 26. WCF操作參數和返回類型必須具有datacontract屬性(始終)?
- 27. 多託和設置屬性有條件
- 28. 用於轉儲設備管理器中顯示的所有設備屬性的命令行工具
- 29. 所有具有屬性的節點
- 30. 添加屬性來WCF DataContract
什麼是凌亂的前期裝修? –
不知道如何回答。只是凌亂。 –
我有很多實體,並且大多數情況下我想擴展它們,包括所有屬性,因此重複屬性數百次只會讓人覺得很麻煩。我希望找出拉迪斯洛夫在下面幫助我的「退出」方法。我寧願裝飾我不想包含的成員。 –