2011-03-23 14 views
7

में बहिष्कृत फ़ील्ड चिह्नित करें मेरे पास एक डब्ल्यूसीएफ अनुबंध है जो क्लाइंट v1 के साथ काम करता है।डब्ल्यूसीएफ अनुबंध

अब मैं सेवा v2 पर काम कर रहा हूं, और मैं कुछ फ़ील्ड को बहिष्कृत के रूप में चिह्नित करना चाहता हूं, इसलिए क्लाइंट v1 उन्हें देखेगा और उनका उपयोग करेगा, और क्लाइंट v2 उन्हें अनदेखा कर देगा।

क्या इस मुद्दे के लिए कोई सर्वोत्तम अभ्यास है? क्या डब्ल्यूसीएफ में कोई मौजूदा विशेषता है जिसका मुझे उपयोग करना चाहिए?

धन्यवाद।

उत्तर

12

आप अपनी पुरानी संपत्तियों को [Obsolete] के रूप में सजाने के लिए तैयार कर सकते हैं लेकिन क्लाइंट केवल उन्हें देखेगा यदि वे एक डीएलएल संदर्भ का उपयोग करते हैं, न कि सेवा/वेब संदर्भ (डब्ल्यूएसडीएल)। [Obsolete] सजावट क्लाइंट पर पास नहीं किया जाएगा जो प्रॉक्सी उत्पन्न करने के लिए WSDL का उपयोग करता है।

डब्ल्यूसीएफ संस्करण के संदर्भ में, एक बार जब आप इंटरफेस प्रकाशित कर लेते हैं, तो आप किसी भी तरीके को हटा नहीं सकते हैं या अनुबंध के मामले में आपको वास्तव में किसी भी गुण को नहीं हटा देना चाहिए। यदि आप नए क्लाइंट का उपयोग करना चाहते हैं तो आप एक नया इंटरफ़ेस प्रकाशित कर सकते हैं और एक अलग डीटीओ कक्षा बना सकते हैं।

रेफरी: Obsolete Attribute

+0

[बहिष्कृत] एक कस्टम प्रॉपर्टी है जिसे आपने सही बनाया है? – Adibe7

+0

क्षमा करें मेरा मतलब था '[Obsoltete] '। इसे ठीक किया – Aliostad

+0

[अप्रचलित] मुझे v1 का समर्थन करने का विकल्प नहीं छोड़ेगा – Adibe7

0

हमारी तरफ हम आम तौर पर नामस्थान के माध्यम से ऑपरेटर संस्करण करते हैं। जब कोई ऑपरेशन बहिष्कृत किया जाता है तो हम उस विवरण में एक बहिष्करण टिप्पणी डालते हैं जिसे क्लाइंट wsdl के माध्यम से देख सकता है। हम अपने ग्राहकों को सूचित करते हैं और उन्हें बहिष्कृत परिचालनों के बारे में बताते हैं और जब इसकी समाप्ति तिथि होने जा रही है।

0

मैं @ एलीओस्टैड से सहमत हूं कि आपको सामान्य रूप से सेवा अनुबंध से संचालन को नहीं हटाया जाना चाहिए क्योंकि यह ब्रेकिंग परिवर्तन पेश करता है और इस तरह एपीआई के एकल संस्करण से बचा जाना चाहिए।

हालांकि, अगर आप कुछ नियोजित परिवर्तनों के बारे में ग्राहक/उपभोक्ता को सूचित करना चाहते हैं या ऑपरेशन अनुबंध में कुछ "अतिरिक्त" जानकारी जोड़ने की कोई अन्य आवश्यकता है, तो आप IWsdlExportExtension इंटरफ़ेस पर एक नज़र डालें, एक कस्टम विशेषता बनाएं जो लागू करें यह और विशेष संचालन एनोटेट।

विस्तृत संदर्भ के लिए आप this article पर एक नज़र डाल सकते हैं।

संबंधित मुद्दे