2 बाइंडिंग मूल रूप से अलग हैं।
NetTcpBinding
एक MS मालिकाना प्रारूप (आमतौर पर बाइनरी) RPC
अवधारणा में इसी तरह के रूप में सोचा जा सकता है (उदाहरण के लिए .NET Remoting
को बदलने के लिए इस्तेमाल किया जा सकता है)। यह तुल्यकालिक है, यानी दोनों क्लाइंट और सर्वर एक ही समय में ऑनलाइन होना चाहिए, और ग्राहक तुरंत प्रतिक्रिया (लगभग) प्राप्त करता है।
MSMQ
माइक्रोसॉफ्ट द्वारा एक संदेश ओरिएंटेड मिडलवेयर समाधान है, जो एसिंक्रोनस कतारों के आसपास घूमता है - उदा। यदि ग्राहक सर्वर संदेश भेजता है तो गंतव्य सर्वर ऑफलाइन होता है, तो सर्वर क्लाइंट पर तब तक कतारबद्ध किया जाएगा जब तक कि सर्वर ऑनलाइन वापस न आए। प्रत्येक कतार केवल एक ही रास्ता है, हालांकि सर्वर से ग्राहक तक दूसरी कतार के माध्यम से द्विदिश संचार प्राप्त किया जा सकता है। डब्ल्यूसीएफ एमएसएमक्यू संदेश भेजना आवश्यक है कि ग्राहक पर MSMQ
सेवा स्थापित की जाए। कतार में संदेशों को डिलीवरी 'टाइमआउट' हो सकता है अन्यथा लागू मृत पत्र कतार पर रखा जाएगा।
रियल दुनिया उदाहरण:
- मैं उच्च प्रदर्शन के लिए द्विआधारी क्रमांकन, एक Microsoft WCF क्लाइंट और सर्वर, उदा के बीच तुल्यकालिक संचार जरूरतों के साथ
NetTcpBinding
का प्रयोग करेंगे फ़ाइल अपलोड करना, मीडिया आदि जहां Xml
नहीं उपयोगी होगा (अन्यथा, मैं तुल्यकालिक Xml
/SOAP
संदेश भेजने के लिए wsHttpBinding
का प्रयोग करेंगे)
- मैं डीटीसी के साथ
MSMQBinding
का प्रयोग करेंगे 2 या अधिक प्रणालियों के बीच विश्वसनीय संदेश सुनिश्चित करने के लिए (जैसे वित्तीय), के साथ सक्षम अंतिम बिंदु नेट में होने का कम से कम एक, और एक 'संगत' सर्वर (जरूरी नहीं WCF
, जैसे BizTalk
, या अन्य EAI
हब या ESB
बसों जो MSMQ
के लिए एडेप्टर है, जैसे पुल MSMQ and MQSeries
के बीच मौजूद हैं)। संदेश आमतौर पर Xml
प्रारूप में होंगे।
टी एल; डॉ
उस सेवा का उपयोग भले ही सेवा अभी भी नहीं चल रहा है ग्राहक मतलब यह है
हां। यदि MSMQ
स्थानीय रूप से चल रहा है, तो ग्राहक को तत्काल वापसी सफल प्रतिक्रिया (यह दर्शाती है कि संदेश कतारबद्ध किया गया है)। इसका मतलब यह नहीं है कि संदेश सफलतापूर्वक सर्वर द्वारा प्राप्त किया गया है।
ग्रेट उत्तर, मैंने कई जटिल प्रणालियों में व्यापक रूप से उपयोग किया जाने वाला डब्ल्यूसीएफ का उपयोग किया है और बस अपने दो सेंट जोड़ना चाहता था। 1. बहुत विशिष्ट उपयोग मामलों को छोड़कर डब्ल्यूसीएफ को डिफॉल्ट करने से बचें जहां यह कुछ ऐसी चीजें प्रदान करता है जो रीस्टफुल वेबसाइसेस में कमी है; 9/10 गुना डब्लूसीएफ का सिरदर्द सिर्फ इनाम के लायक नहीं है। 2. NetTcp बाइंडिंग तर्कसंगत रूप से सबसे अच्छा (और निश्चित रूप से सबसे तेज़ - नामित पाइप को छोड़कर) मेरे व्यक्तिगत अनुभव में बाध्यकारी विकल्प है। हालांकि, पोस्टर बताते हुए इसमें कोई भी अनावश्यकता नहीं है। –
सहमत - यह 4 साल और एक्सएमएल अब ज्यादातर जेएसओएन सेवाओं द्वारा प्रतिस्थापित किया गया है, और वेबएपी ने अब एक विश्वसनीय दुनिया में डब्ल्यूसीएफ को प्रत्यारोपित कर दिया है। – StuartLC