2009-04-13 17 views
50

मैं इस धारणा के तहत था कि कॉन्फ़िगरेशन फ़ाइल में एक संभावित बिंदु की सूची के रूप में एक एंडपॉइंट परिभाषित किया गया था, लेकिन इसका कोई मतलब नहीं है (इस अर्थ में मैंने यह माना कि कंप्यूटर क्या सेवा कर सकता है) अब मैं इसे इकट्ठा कर रहा हूं यह एक परिभाषा का अधिक है, तो क्या कोई मुझे बताएगा कि अंत बिंदु क्या है? मैं अनुबंध इंटरफ़ेस को परिभाषित करने और उसके बाद अनुबंध को लागू करने की अवधारणा को समझता हूं लेकिन मैं वहां कहीं और खो गया हूं और वास्तव में कुछ उपयोग करने योग्य हूं।डब्ल्यूसीएफ में "एंडपॉइंट" क्या है?

इस संदर्भ में कोई पता क्या है? मेजबान पता?

एक बाध्यकारी संचार विधि/प्रोटोकॉल सही उपयोग करने के लिए है?

अनुबंध "वस्तु साझा किया जा रहा है" अनिवार्य रूप से (हाँ मैं जानता हूँ कि इतने तकनीकी रूप से गलत है, लेकिन यहाँ मेरे साथ काम करते हैं)

उत्तर

70

एक endpoint क्या एक सेवा को उजागर करता है, और WCF मामले में, तीन बातों से बना है:

  • पता
  • बाइंडिंग
  • अनुबंध

पता यूआरएल द्वारा है जो एंडपॉइंट तक पहुंचा जा सकता है।

बाइंडिंग उन परिवर्तनों को निर्देशित करता है जो पते पर अनुबंध के कार्यान्वयन के लिए भेजे गए संदेशों के आकार के साथ-साथ आकार (कुछ डिग्री) के लिए लागू होते हैं।

अनुबंध यह बताता है कि पते पर कौन से संचालन का खुलासा किया जा रहा है। यह वही है जो यह कहता है, यह संकेत है कि कौन से कॉल अनुमत हैं।

अधिकांश समय, लोगों को यह एक बी सी के रूप में

कुछ बातों का ध्यान रखना याद रखें:

बाध्यकारी आम तौर पर लागू किया व्यवहार के साथ चैनलों के संयोजन होने जा रहा है; चैनल चैनल स्टैक पर तत्व होते हैं जो संदेश को संशोधित करते हैं और सेवा कार्यान्वयन से पहले क्रियाएं करते हैं।

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

+0

यह सहायक है ... अगर मैं एक द्वि दिशात्मक संचार सेवा लिखना चाहता हूं तो मैं इसे बनाने के बारे में कैसे जाऊं? आइए मान लीजिए कि मेरे पास ए और बी के साथ एक सिस्टम था, यदि कोई 'पिंग' भेजता है तो बी 1 सेकंड तक इंतजार करता है और वापस पोंग भेजता है, जो तब ए को 1 सेकंड प्रतीक्षा करने और पिंग फिर से भेजने के लिए संकेत देता है। – Firoso

+0

@ फ़िरसोसो: यह एक तीन तरह का हैंडशेक है, और इस मामले में मैं बी को सर्वर के रूप में परिभाषित करता हूं। ए बी पर पिंग विधि को कॉल करेगा। आप पिंग ऑपरेशन के लिए कॉलबैक अनुबंध परिभाषित करेंगे जो पोंग का पर्दाफाश करेगा। फिर, जब पोंग को ए पर बुलाया जाता है, तो यह फिर से पिंग को बी – casperOne

+0

पर कॉल करेगा। यह समझ में आता है, लेकिन मुझे लगता है कि मुझे अधिक जानकारी अवशोषित करने के लिए कुछ समय चाहिए ... त्वरित प्रतिक्रिया के लिए धन्यवाद। – Firoso

3

देखें here: एक सेवा समाप्ति बिंदु एक पता, एक बंधन है, और उपयोग करने के लिए एक अनुबंध निर्दिष्ट करता है संचार के लिए।

17

मैं अदालत में तलब करने के लिए युवल लोवी के प्रोग्रामिंग WCF सेवा यहाँ जा रहा हूँ:

हर सेवा करने वाला पता परिभाषित करता है जहां सेवा है, एक बाध्यकारी है कि परिभाषित करता है कि कैसे के साथ संवाद करने के साथ जुड़ा हुआ है सेवा, और एक अनुबंध जो परिभाषित करता है कि सेवा क्या करती है। यह सेवा को नियंत्रित करने वाले triumvirate सेवा को सेवा के एबीसी के रूप में याद रखना आसान है।

डब्ल्यूसीएफ इस संबंध को एंडपॉइंट के रूप में औपचारिक रूप से औपचारिक रूप से लागू करता है। एंडपॉइंट पता, अनुबंध, और बाध्यकारी का संलयन है।

प्रत्येक एंडपॉइंट में सभी तीन तत्व होने चाहिए, और मेजबान एंडपॉइंट का खुलासा करता है।

5

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

1

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

12

Endpoints
WCF सेवा एक प्रोग्राम है जो अंतिम बिंदु का एक संग्रह को उजागर करता है। प्रत्येक एंडपॉइंट दुनिया के साथ संवाद करने के लिए एक पोर्टल है। एंड पॉइंट में तीन घटक होते हैं।
1) पता:
      को परिभाषित करता है, जहां एक सेवा स्थित है
      पूर्व - http://www.test.com:8001/MyService
2) बाइंडिंग:
      एक बाध्यकारी है कि निर्दिष्ट करता है कि एक ग्राहक के साथ संवाद कर सकते हैं एंडपॉइंट
      पूर्व - BasicHttpBinding, WSHttpBinding, WSDualHttpBinding आदि
3) संविदा:
      एक अनुबंध है कि आपरेशन उपलब्ध पहचानती है

Endpoints पर web.config फ़ाइल में उल्लेख किया जाएगा बनाई गई सेवा

0

एक वेब सेवा समाप्ति बिंदु कुछ या इन सभी छुपा सकते हैं। और अनुरोध के आधार पर आंतरिक रूप से अनुरोध की प्रसंस्करण का निर्णय ले सकते हैं।

SRJTester उपकरण (गीथब पर उपलब्ध) सेवा अनुरोध करते समय एंडपॉइंट, क्रियाएं, प्रोटोकॉल इत्यादि निर्दिष्ट करना अच्छा होता है।

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