2010-03-16 9 views
21

मेरे पास एक ऐसी सेवा है जो जानवरों की एक सरणी लौटाती है लेकिन सूची में बिल्लियों, कुत्तों, आदि शामिल हो सकते हैं, जो सभी जानवरों का विस्तार करते हैं। मुझे पता है कि मुझे या तो ज्ञात टाइप या सर्विसकनाउन टाइप विशेषता, और इकाई वर्ग या सेवा वर्ग पर क्रमशः उपयोग करने की आवश्यकता है।KnownType और ServiceKnownType का उपयोग करते समय डब्ल्यूसीएफ में क्या अंतर है?

2 विशेषताओं के बीच क्या अंतर है? मैं ServiceKnownType पसंद करता हूं क्योंकि यह सेवा पर लागू होता है, जहां इसकी आवश्यकता होती है और इसके लिए बुलाया जाता है, क्योंकि मेरी इकाई पर ज्ञात टाउन के विपरीत। मुझे इकाई वर्ग पर आवेदन करने का मतलब है कि मेरी इकाई वर्ग का उपयोग कैसे किया जा रहा है।

अभी के लिए मेरे पास यह मेरी इकाई पर है और यह एक आकर्षण की तरह काम करता है, लेकिन मैं यहां सर्वोत्तम अभ्यास और उपयोगीता के रूप में मार्गदर्शन की तलाश में हूं।

उत्तर

39

वे वही काम करते हैं, अंततः - लेकिन एक अलग दायरे पर।

[ServiceKnownType] इस सेवा पर सभी विधियों के लिए कक्षा पदानुक्रम परिभाषित करता है, या सेवा पर एक ही विधि (जहां आप विशेषता डालते हैं) के आधार पर। इसलिए इस मामले में, इस प्रकार के पदानुक्रम केवल इस सेवा के लिए वैध और लागू होगा या शायद उस सेवा अनुबंध में केवल एक ही विधि होगी।

[KnownType] समान बात करता है - लेकिन अंतर्निहित डेटा अनुबंधों पर। इस डेटा अनुबंध का उपयोग करने वाली कोई भी सेवा अब उन सभी संभावित वंशज वर्गों को "विरासत" देती है - जो आप चाहते हैं या नहीं हो सकते हैं।

तो वास्तव में - यह केवल एक बात है कि आप किस दायरे को एक निश्चित घोषणा लागू करना चाहते हैं - इसे डेटा अनुबंध पर डालने से यह "वैश्विक" प्रकार की हाइर्चरी का प्रकार बनता है, जबकि [ServiceKnownType] का उपयोग करते हुए आप कुछ मान्य करने की अनुमति देते हैं केवल एक सेवा अनुबंध के लिए या उस सेवा अनुबंध पर केवल एक (या कई) विधियों के लिए।

+0

धन्यवाद। यही वह था जो मैं सोच रहा था और मैं इसे ऑपरेशन अनुबंध स्तर पर डाल रहा हूं। –

+0

बीटीडब्लू - जिस कारण से मैंने मैट के उत्तर को स्वीकृत के रूप में चिह्नित किया है, वह उस लिंक के कारण है जो वह प्रदान करता है जो अधिक गहराई में जाता है। हालांकि मैं आपके जवाब की तरह करता हूं - यह कम शब्दों में कहता है। –

+0

ऐसा लगता है कि अन्य उत्तर हटा दिया गया था .... –

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

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