कुछ उद्यम की तरह परियोजना में (.NET, WCF) मैंने देखा है कि सभी सेवा अनुबंध एक भी Request
पैरामीटर स्वीकार करते हैं और हमेशा Response
वापसी:अनुरोध/प्रतिक्रिया पैटर्न
[DataContract]
public class CustomerRequest : RequestBase {
[DataMember]
public long Id { get; set; }
}
[DataContract]
public class CustomerResponse : ResponseBase {
[DataMember]
public CustomerInfo Customer { get; set; }
}
जहां RequestBase/ResponseBase
आम सामान शामिल त्रुटि कोड, संदर्भ, इत्यादि जैसे सेवा विधियों और प्रॉक्सी दोनों की निकायों को कोशिश/पकड़ में लपेटा जाता है, इसलिए त्रुटियों की जांच करने का एकमात्र तरीका ResponseBase.ErrorCode
(जो गणना है) को देख रहा है।
मैं जानना चाहता हूं कि इस तकनीक को कैसे कहा जाता है और विधि पैरामीटर के रूप में क्या आवश्यक है और मानक डब्ल्यूसीएफ संदर्भ उत्तीर्ण/दोष तंत्र का उपयोग करने की तुलना में यह बेहतर क्यों है?
बस लाभ में जोड़ने के लिए और यह मेरा पसंदीदा है। * DataContracts ऑपरेशन कॉन्ट्रैक्ट्स की तुलना में परिवर्तन (संस्करण के लिए आसान) के लिए लचीला हैं। यदि आप पैरामीटर जोड़ते हैं तो आप ऑपरेशन कंट्रैक्ट बदल रहे हैं, जो पुराने उपभोक्ताओं के लिए एक ब्रेकिंग चेंज है। यदि आप अपने डेटाकंट्रैक्ट में कोई संपत्ति जोड़ते हैं, तो पुराने संस्करण अभी भी काम कर सकते हैं (यदि सही ढंग से कोड किया गया हो)। –
आपकी दूसरी बुलेट के संबंध में, आप डेटा अनुबंध पर एक संपत्ति को आवश्यक, वैकल्पिक, आदि के रूप में कैसे चिह्नित करेंगे? – elucid8
elucid8, डेटामेम्बर पर आप संपत्ति आवश्यक/वैकल्पिक बनाने के लिए IsRequired = true/false जोड़ सकते हैं। – CkH