2012-09-10 14 views
8

मैं बाइंडिंग विकल्पों को चुनने के लिए इस आलेख http://weblogs.asp.net/spano/archive/2007/10/02/choosing-the-right-wcf-binding.aspx पर जा रहा था।डब्ल्यूसीएफ - NetMsmq बाइंडिंग बनाम NetTcp बाइंडिंग

मैं कहाँ से

ऑफ़लाइन या डिस्कनेक्ट बातचीत क्या मतलब है की एक असामान्य संदेह है, NetMsmqBinding

चुनें कि सेवा का उपयोग करने का अर्थ है, भले ही सेवा अभी भी नहीं चल रहा है ग्राहक ?

क्या आप कुछ वास्तविक समय उदाहरण साझा कर सकते हैं?

उत्तर

9

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

ग्रेट उत्तर, मैंने कई जटिल प्रणालियों में व्यापक रूप से उपयोग किया जाने वाला डब्ल्यूसीएफ का उपयोग किया है और बस अपने दो सेंट जोड़ना चाहता था। 1. बहुत विशिष्ट उपयोग मामलों को छोड़कर डब्ल्यूसीएफ को डिफॉल्ट करने से बचें जहां यह कुछ ऐसी चीजें प्रदान करता है जो रीस्टफुल वेबसाइसेस में कमी है; 9/10 गुना डब्लूसीएफ का सिरदर्द सिर्फ इनाम के लायक नहीं है। 2. NetTcp बाइंडिंग तर्कसंगत रूप से सबसे अच्छा (और निश्चित रूप से सबसे तेज़ - नामित पाइप को छोड़कर) मेरे व्यक्तिगत अनुभव में बाध्यकारी विकल्प है। हालांकि, पोस्टर बताते हुए इसमें कोई भी अनावश्यकता नहीं है। –

+0

सहमत - यह 4 साल और एक्सएमएल अब ज्यादातर जेएसओएन सेवाओं द्वारा प्रतिस्थापित किया गया है, और वेबएपी ने अब एक विश्वसनीय दुनिया में डब्ल्यूसीएफ को प्रत्यारोपित कर दिया है। – StuartLC

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