2009-08-18 22 views
87

हर कोई कह रहा है कि डब्लूसीएफ द्वारा .NET Remoting को कैसे बदला जा रहा है, लेकिन मुझे आश्चर्य है कि यह कितना सटीक है। मैंने कोई आधिकारिक शब्द नहीं देखा है कि रिमोटिंग को बहिष्कृत किया जा रहा है, और ऐसा लगता है कि निश्चित रूप से ऐसे परिदृश्य हैं जहां रिमोटिंग डब्ल्यूसीएफ की तुलना में अधिक समझ में आता है। ढांचे के संस्करण 4.0 में भी रिमोटिंग से संबंधित वस्तुओं या विधियों में से कोई भी बहिष्कृत नहीं किया गया है। यह भी मेरी समझ है कि सिस्टम। 3.5 और 4.0 ढांचे में जोड़ें रीमोटिंग का उपयोग करें।क्या .NET Remoting वास्तव में बहिष्कृत है?

क्या किसी के पास इसके विपरीत कोई आधिकारिक शब्द है?

लेख में, Choosing Communication Options in .NET (3.0 के लिए, के रूप में है कि उस लेख के नवीनतम संस्करण है), यह कहा गया है:

8 पार आवेदन डोमेन संचार

आप वस्तुओं के बीच संचार का समर्थन करने की जरूरत है एक ही प्रक्रिया के भीतर विभिन्न अनुप्रयोग डोमेन में, आपको .NET रीमोटिंग का उपयोग करना होगा।

अब, यह निश्चित रूप से सटीक नहीं है, क्योंकि डब्ल्यूसीएफ निश्चित रूप से एपडोमेन सीमाओं को पार करने के लिए उपयोग किया जा सकता है, लेकिन क्या यह उस परिदृश्य के लिए आधिकारिक सिफारिश दे रहा है?

अद्यतन:

क्लेमेंस, मैं समझता हूँ आप टीम है कि दोनों दूरस्थ और WCF का मालिक पर हैं, और मैं: मैं क्लेमेंस Vasters इस सवाल (जो टीम है कि दूरस्थ और WCF का मालिक पर था) भेजा मेरे पास कुछ प्रश्न हैं जो मुझे विश्वास है कि मुझे स्रोत पर जाना होगा।

सबसे पहले, मेरे पास एक सवाल है कि रिमोटिंग दूर हो रही है या नहीं। विशेष रूप से, हमारे पास एक बड़ा अनुप्रयोग है जो इन-प्रोसेस क्रॉस-एपडोमेन संचार के लिए बड़े पैमाने पर रिमोटिंग का उपयोग करता है, और मैं सोच रहा था कि रिमोटिंग के इस उपयोग को "विरासत" माना जाता है। यदि हां, तो AppDomain.CreateInstance और दोस्तों को कुछ और के साथ बदल दिया जाएगा?

दूरस्थ नेट फ्रेमवर्क का हिस्सा है और इस तरह के रूप में यह दूर नहीं जा रहा है:

यह उसका जवाब है। कॉम विंडोज एनटी 3.5/विंडोज 95 के बाद से विंडोज में रहा है और दूर नहीं चला है और मुझे नहीं लगता कि जल्द ही कभी भी जा रहा है।

उस ने कहा, रिमोटिंग में बहुत कम विकास निवेश चल रहा है। डब्ल्यूसीएफ प्रबंधित कोड के लिए रिमोटिंग और सप्लांट्स COM/DCOM का उत्तराधिकारी है।

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

+0

देखें http://stackoverflow.com/questions/1295353/why-am-i-seeing-slower-performance-here-from-wcf-than- इस सवाल के लिए क्यों डब्लूसीएफ रिमोटिंग से इतना धीमा है मेरी विशिष्ट स्थिति – Mark

+1

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

+3

@ पीटर: जानकारी के लिए धन्यवाद, लेकिन आपकी कुछ धारणाएं पूरी तरह से गलत हैं। एक, वह रिमोटिंग धीमा या अविश्वसनीय है। यह। यह बहुत तेज है, और बहुत भरोसेमंद (निश्चित रूप से विश्वसनीय चैनलों पर)। दूसरा यह है कि "वेब सेवाएं" (जो भी इसका मतलब है) धीमी है। वे नहीं हैं। बेशक, नेटवर्क पर किसी भी चीज की तुलना में कुछ भी प्रक्रिया तेज हो रही है, लेकिन यह सवाल यह नहीं है कि यह सवाल क्या है ... – Mark

उत्तर

50

यह कॉलिंग एक विरासत प्रौद्योगिकी एक अधिक सटीक वर्णन है ही कहते हैं।

http://msdn.microsoft.com/en-us/library/72x4h507%28VS.85%29.aspx

इस विषय को एक विरासत प्रौद्योगिकी कि मौजूदा अनुप्रयोगों के साथ पिछली संगतता के लिए बनाए रखा है और नए विकास के लिए अनुशंसित नहीं है के लिए विशिष्ट है। वितरित अनुप्रयोगों को अब Windows संचार फाउंडेशन (डब्ल्यूसीएफ) का उपयोग करके विकसित किया जाना चाहिए।

अपडेट: डब्ल्यूसीएफ इंटर/इंट्रा/प्रोसेस/इंटर/इंट्रा-एपडोमेन के बीच अंतर नहीं करता है। यदि आप डब्ल्यूसीएफ में एकल मशीन संचार का उपयोग कर रहे हैं तो आप नामित पाइप का उपयोग करते हैं- इसका उपयोग करके लगभग सभी यथार्थवादी परिदृश्यों में अच्छा प्रदर्शन करना चाहिए।

विभिन्न वितरित संचार प्रौद्योगिकियों की प्रदर्शन तुलना के लिए see here

+0

क्या वह लेख विशेष रूप से इंटरप्रोसेस संचार में रिमोटिंग का उपयोग करने के लिए संदर्भित नहीं है? ऐसा लगता है कि रिमोटिंग अभी भी क्रॉस-एपडोमेन संचार (AppDomain.CreateInstanceFromAndUnwrap और दोस्तों) में एक जगह है। – Mark

+0

हां यह है। यदि इन वर्गों को "बहिष्कृत" किया गया था, तो उनके पास अप्रचलित एट्रिब्यूट लागू होगा- http://msdn.microsoft.com/en-us/library/system.obsoleteattribute.aspx। – RichardOD

+2

@ मार्क, @ रिचर्डोड: लेख .NET Remoting पर मुख्य लेख है। यह सिर्फ अंतर प्रक्रिया संचार का संदर्भ नहीं देता है। साथ ही, तथ्य यह है कि .NET 3.5 में ObsoleteAttribute उन पर नहीं है, इसका मतलब कुछ भी नहीं है, क्योंकि रिमोटिंग (और एएसएमएक्स वेब सेवाओं) को "विरासत" के रूप में घोषित करने का निर्णय .NET 3.5 RTM पोस्ट किया गया था। –

11

हां। रिमोटिंग बहिष्कृत है ... और यह माइक्रोसॉफ्ट से आधिकारिक है।

.NET Remoting

लेख में पहली पंक्ति बोल्ड में कहते हैं::

इस विषय को एक विरासत प्रौद्योगिकी कि मौजूदा अनुप्रयोगों के साथ पिछली संगतता के लिए बनाए रखा है और नहीं है के लिए विशिष्ट है यहाँ लिंक है नए विकास के लिए अनुशंसित। वितरित अनुप्रयोगों को अब विंडोज संचार फाउंडेशन (डब्ल्यूसीएफ) का उपयोग करके विकसित किया जाना चाहिए।

मैंने सोचा था कि शब्दाडंबर था 'पदावनत' लेकिन जाहिरा तौर पर वे 'विरासत'

+18

आईएमओ 'बहिष्कृत' 'विरासत' से अधिक मजबूत है: 'विरासत' का अर्थ है "डॉन शुरू नहीं करें ", और बहिष्कृत साधन" यदि आप पहले ही शुरू कर चुके हैं, तो अभी रोकें, क्योंकि इसे पूरी तरह से भविष्य के संस्करणों में हटाया जा सकता है "। – ChrisW

+0

तो, क्या यह कहना सही होगा कि इसे क्रॉस-एप्लिकेशन संचार के लिए बहिष्कृत किया गया है, लेकिन क्रॉस-एपडोमेन संचार के लिए नहीं? – Mark

+1

@ मार्क: मैं इसे इस तरह से नहीं पढ़ता हूं। डब्ल्यूसीएफ इंट्रा-प्रोसेस संचार के लिए लागू होता है जैसा कि रिमोटिंग है (डब्ल्यूसीएफ में नेट नामांकित पाइप बाइंडिंग देखें)। –

2

क्लीमेंस वास्टर्स, माइक्रोसॉफ्ट .NET सेवा बस के लिए तकनीकी लीड (जिसका मतलब है कि रिमोटिंग के साथ-साथ डब्ल्यूसीएफ दोनों) डब्ल्यूसीएफ बनाम this forum post में रिमोटिंग के बारे में बात करते हैं। पद को सारांशित करने के लिए वह रिमोटिंग पर डब्ल्यूसीएफ की सिफारिश कर रहा है।

मुझे यकीन नहीं है कि .NET 4.0 आंतरिक रूप से रिमोटिंग का उपयोग करता है लेकिन आप सवाल क्लेमेंस भेजने का प्रयास कर सकते हैं ... मुझे यकीन है कि वह जवाब जानता है।

+9

एक माइक्रोसॉफ्ट कर्मचारी नए चमकदार-नए-असंगत-सब कुछ के साथ-साथ किसी भी प्रकार के मानक पर विधि का उपयोग करने की सिफारिश करता है? चौंका देने वाला। – quillbreaker

+13

डब्ल्यूसीएफ किस तरह से बाकी सब कुछ के साथ संगत नहीं है? और रिमोटिंग क्या संगत था? –

+1

यदि आप संगतता की तलाश में हैं, तो डब्ल्यूसीएफ एकमात्र विकल्प है (निश्चित रूप से एएसएमएक्स को छोड़कर, लेकिन यह "विरासत" भी है)। रिमोटिंग कभी-कभी परिदृश्यों के लिए उपयुक्त थी जहां संगतता की आवश्यकता थी। – Mark

1

मुझे लगता है कि अब (2015) यह भी पार आवेदन डोमेन के लिए काफी स्पष्ट है: https://msdn.microsoft.com/en-us/library/vstudio/ms180984(v=vs.100).aspx

दूरस्थ क्रॉस AppDomains इस विषय को एक विरासत प्रौद्योगिकी कि पिछली संगतता के लिए बनाए रखा है के लिए विशिष्ट है मौजूदा अनुप्रयोगों के साथ और नए विकास के लिए अनुशंसित नहीं है। वितरित अनुप्रयोगों को अब विंडोज संचार फाउंडेशन (डब्ल्यूसीएफ) का उपयोग करके विकसित किया जाना चाहिए।

फिर डब्ल्यूसीएफ को क्रॉस एप्लिकेशन डोमेन के लिए भी इस्तेमाल किया जाना चाहिए।

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