คำถามติดแท็ก datacontractserializer

7
ควรใช้แอตทริบิวต์ DataContract และ DataMember เมื่อใด
ฉันสับสนมากเกี่ยวกับDataContractคุณลักษณะใน WCF ตามความรู้ของฉันมันถูกใช้สำหรับชนิดที่ผู้ใช้กำหนดเช่นคลาส ฉันเขียนคลาสหนึ่งซึ่งเปิดเผยที่ฝั่งไคลเอ็นต์เช่นนี้ [DataContract] public class Contact { [DataMember] public int Roll { get; set; } [DataMember] public string Name { get; set; } [DataMember] public string Address { get; set; } [DataMember] public int Age { get; set; } } มันทำงานอย่างถูกต้อง แต่เมื่อฉันลบDataContractและDataMemberมันยังทำงานได้อย่างถูกต้อง ฉันไม่เข้าใจว่าทำไมมันทำงานอย่างถูกต้อง มีใครบอกได้บ้างว่าการใช้งานจริงDataContractคืออะไร สัญญาบริการของฉันเป็นแบบนี้ [ServiceContract] public interface …

9
WCF เน้นคุณสมบัติโดยไม่มี "set" วิธีแก้ปัญหาใด ๆ
ฉันมีคลาสบางคลาสที่ฉันผ่านเนื่องจากเมธอดบริการและคลาสนั้นมีคุณสมบัติรับอย่างเดียว: [DataContract] public class ErrorBase { [DataMember] public virtual string Message { get { return ""; } } } ฉันได้รับข้อยกเว้นในด้านการบริการ: System.Runtime.Serialization.InvalidDataContractException: ไม่ได้ตั้งค่าวิธีการสำหรับคุณสมบัติ 'ข้อความ' ในประเภท 'MyNamespace.ErrorBase' ฉันต้องมีคุณสมบัตินี้เป็นเพียงผู้เริ่มต้นฉันไม่สามารถอนุญาตให้ผู้ใช้กำหนดค่าได้ วิธีแก้ปัญหาใด ๆ ที่ฉันสามารถใช้ได้? หรือฉันไม่มีคุณสมบัติเพิ่มเติมบางอย่าง?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.