wcf - क्या मैं डेटाकंट्रैक्ट और सीरियलज़ेबल को एक साथ उपयोग कर सकता हूं?




datacontract serializable (2)

अगर समस्या नामकरण में है तो आप इसका उपयोग क्यों नहीं करते हैं

[XmlElement(ElementName = "Name")]
public string Name { get; set; } 

मैं डब्ल्यूसीएफ सेवा पर काम कर रहा हूं। मेरी सभी कक्षाएं पहले से ही [सीरियलज़ेबल] विशेषता का उपयोग कर क्रमबद्ध हैं लेकिन "k__BackingField" संपत्ति नामकरण समस्या के कारण मैंने डेटाकंट्रैक्ट और डेटामेम्बर विशेषता का उपयोग किया था। तो क्या मैं दोनों गुणों का एक साथ निम्नलिखित उपयोग कर सकता हूं:

[Serializable]
[DataContract]
public class User
{

  [DataMember]
  public string Name { get; set; }

  [DataMember]
  public int UserID { get; set; }
}

क्या ये सही है?

मुझे यहां भी इसी तरह का समाधान मिला। सी # स्वचालित संपत्ति जेएसओएन deserialization

Serializable और DataContract (बनाम नहीं?)


मुझे एमएसडीएन पर एक लेख मिला है जिसके अनुसार हम दोनों विशेषता डेटाकंट्रैक्ट और सीरियलज़ेबल दोनों का उपयोग कर सकते हैं।

[Serializable] के साथ, सभी फ़ील्ड डेटा अनुबंध का हिस्सा बन जाते हैं (जब तक वे [NonSerialized] के साथ चिह्नित नहीं होते हैं)। [डेटाकंट्रैक्ट] के साथ, केवल [डेटामेम्बर] के साथ चिह्नित सदस्यों को शामिल किया गया है। ध्यान दें कि यदि किसी प्रकार में [DataContract] और [Serializable] दोनों गुण हैं, तो यह [DataContract] मानचित्रण का उपयोग करेगा

http://msdn.microsoft.com/en-us/magazine/cc163569.aspx