2008-11-21 25 views
117

डब्ल्यूसीएफ में वेब संदर्भ और सेवा संदर्भ के बीच क्या अंतर है? डब्ल्यूसीएफ में कौन सा बेहतर है?वेब संदर्भ और सेवा संदर्भ के बीच अंतर?

+0

चैनल फैक्ट्रियों पर भी एक नज़र डालें - http://stackoverflow.com/questions/1698275/wcf-channelfactory-vs-generating-proxy –

+1

हम्म, शायद एक उत्तर का चयन करें? –

उत्तर

14

सेवा संदर्भ (वे वेब सेवाओं नहीं हो सकता है) WCF सेवाओं के सभी तरीके के लिए संदर्भ जोड़ने के लिए नए इंटरफेस जबकि वेब संदर्भ विशेष रूप से ASMX वेब संदर्भ के साथ संबंध है।

आप (यदि मैं सही ढंग से याद करते हैं) ऐड सेवा संदर्भ में उन्नत विकल्प के माध्यम से वेब संदर्भ पहुँच सकते हैं।

मैं क्योंकि जैसा कि मैंने यह समझ, यह दो के नए तंत्र है सेवा संदर्भ का उपयोग करेंगे।

+8

के माध्यम से अच्छा सवाल सेवा संदर्भ जोड़ें -> उन्नत -> वेब संदर्भ जोड़ें ...अनजान समाधान की तरह कुछ भी नहीं। – Jagd

6

सेवा संदर्भ अंतिमबिंदुओं और बाइंडिंग, जो पूरी तरह से विन्यास कर रहे हैं के साथ सौदा। वे आपको किसी भी परिवहन प्रोटोकॉल (HTTP, टीसीपी, साझा मेमोरी, आदि)

वे WCF के साथ काम करने के लिए डिज़ाइन कर रहे हैं के माध्यम से एक WCF के लिए अपने ग्राहक प्रॉक्सी बात करते हैं।

काफी

5

एक और मुद्दा HTTP पर WCF का उपयोग कर विचार में लेने के लिए अपने आप को बंधन आप एक WebProxy का उपयोग करते हैं, तो आप कर रहे हैं कि सेवा इंटरफ़ेस के लिए नए UI आप जैसे आप चाहें पर करने के लिए और अधिक लचीलापन दे देंगे अपनी प्रॉक्सी कक्षा बनाएं। उदाहरण के लिए, यदि आप मेल खाते हैं (वास्तव में यह डिफ़ॉल्ट व्यवहार है) तो यह डेटा अनुबंधों को मौजूदा डीएलएस पर मैप करने की अनुमति देगा।

88

निम्न स्तर का उत्तर यह है कि एक वेब संदर्भ क्लाइंट प्रॉक्सी क्लास बनाएगा जो आपके कोड को डब्ल्यूएसडीएल के माध्यम से वर्णित एक वेब सेवा से बात करने की अनुमति देता है और एसओएपी या HTTP जीईटी के माध्यम से संचार करता है (अन्य पोस्टर इंगित करते हैं कि यह है केवल एएसएमएक्स, लेकिन वेब संदर्भ जावा-आधारित वेब सर्विसेज या पायथन-आधारित या रुबी से भी बात कर सकते हैं जब तक वे सभी डब्लूएसडीएल से बात करते हैं और डब्लूएस-आई इंटरऑपरेबिलिटी मानक के अनुरूप होते हैं)।

एक सेवा संदर्भ एक ग्राहक प्रॉक्सी वर्ग है कि एक WCF आधारित सेवा के साथ संचार पैदा करेगा: चाहे वह WCF सेवा एक वेब सेवा है या नहीं की परवाह किए बिना।

+1

+1 यह जोड़ने के लिए कि उचित रूप से स्वरूपित WSDL के साथ कोई मानक वेब सेवा मानदंड –

+0

मानती है तो क्या मैं जावा आधारित वेब सेवा के लिए सेवा संदर्भ जोड़ सकता हूं? क्या यह अभी भी समझ में आएगा? चूंकि जावा डब्ल्यूसीएफ स्टैक के बारे में कुछ नहीं जानता ... – user20358

+0

हां, यदि आप एक wsdl है, तो आप जावा आदि वेब सेवा के लिए एक सेवा संदर्भ जोड़ सकते हैं। सेवा संदर्भ इस मामले में इसे "क्लासिक" वेब संदर्भ की तरह व्यवहार करेगा। –

57

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

एक सेवा संदर्भ आपको किसी भी तकनीक के आधार पर किसी भी सेवा के साथ संवाद करने की अनुमति देता है जो डब्ल्यूसीएफ द्वारा समर्थित कई प्रोटोकॉल लागू करता है (जिसमें डब्लूएस-आई बेसिक प्रोफाइल तक सीमित नहीं है)। आंतरिक रूप से, यह ग्राहक पक्ष पर डब्ल्यूसीएफ संचार ढेर का उपयोग करता है।

ध्यान दें कि ये दोनों परिभाषाएं काफी व्यापक हैं, और दोनों में .NET में लिखी गई सेवाओं को शामिल नहीं किया गया है।

डब्ल्यूसीएफ सेवा को इंगित करने वाले वेब संदर्भ को जोड़ने के लिए यह पूरी तरह से संभव है (हालांकि अनुशंसित नहीं है), जब तक डब्ल्यूसीएफ एंडपॉइंट basicHttpBinding या कुछ संगत कस्टम संस्करण का उपयोग करता है।

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

+0

क्या कोई मुझे सेवा संदर्भ के माध्यम से सेवा का उपभोग करने के तरीके पर शुरू कर सकता है? वेब संदर्भ के साथ, मैं हमेशा किसी प्रकार की सेवा ऑब्जेक्ट में कोर फ़ंक्शंस ढूंढने में सक्षम हूं। एक सेवा संदर्भ के साथ, इतना नहीं। उदाहरण के तौर पर, मैं विभिन्न FedEx शिपिंग विकल्पों के लिए कीमतें प्राप्त करने के लिए FedEx दरों की सेवा का उपयोग करने का प्रयास कर रहा हूं। मुझे पता है कि वहां कहीं भी getRates() कॉल है, लेकिन मुझे इसे सेवा संदर्भ के साथ नहीं मिल रहा है। –

+0

@ बेनमिल: 'क्लाइंट' प्रत्यय वाले वर्ग की तलाश करें। –

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