2010-07-02 15 views
9

मैं समझ सकता हूं कि डब्ल्यूसीएफ रिमोटिंग से सामान्य रूप से बेहतर है, लेकिन दोनों मेरे लिए काफी अलग हैं। एमएस दिखाने के लिए कैसे महान WCF (कैसे गरीब अन्य techs केवल एक बॉक्स प्रत्येक जांच करने के लिए कर रहे हैं या शायद) है इस सुंदर तस्वीर बनाते हैं: alt text http://i.msdn.microsoft.com/dynimg/IC371617.jpgक्या डब्ल्यूसीएफ वास्तव में .NET Remoting को प्रतिस्थापित करता है?

लेकिन, WCF एसओए के आसपास केंद्रित है और मैं इसे करने के लिए सही है नहीं लगता है सेवाओं का पर्दाफाश करने के लिए प्रत्येक नेटवर्क किए गए एप्लिकेशन चाहता है।

मेरे मामले में मैं विभिन्न पीसी पर सर्वर अनुप्रयोग के दो उदाहरणों के बीच वस्तुओं को दोहराने के तरीकों को देख रहा हूं। डब्ल्यूसीएफ सिर्फ COM का एक आधुनिक संस्करण देने लगता है ... ऑब्जेक्ट और कॉल विधियां प्राप्त करें और यह अन्य पीसी पर जादुई रूप से संस्करण को कॉल करता है। लेकिन Remoting कुछ अलग करने के लिए दिखाई दिया और मुझे स्पष्ट नहीं है कि क्यों एक समान तकनीक के साथ प्रतिस्थापित किए बिना इसे बहिष्कृत किया गया था।

तो, क्या एमएस का दावा है कि रिमोटिंग मर चुका है? या फिर भी वे इसका समर्थन करते हैं, यह स्वीकार करते हुए कि WCF के साथ इसकी जगह है?

+0

http://stackoverflow.com/questions/1294494/is-net-remoting-really-deprecated देखें, इसके अलावा - अपने ऐप में डब्लूसीएफ एंडपॉइंट को आग लगाना और ऑब्जेक्ट्स को आगे भेजना बहुत आसान है। – nos

+0

मैं यह नहीं कह रहा हूं कि यह आपकी स्थिति के विशिष्ट वर्णन के कारण एक सटीक डुप्लिकेट है। लेकिन (जैसा ऊपर पोस्ट किया गया है) इस सवाल पर चर्चा की गई है कि रीमोटिंग को हटा दिया गया है http://stackoverflow.com/questions/1294494/is-net-remoting-really-deprecated – MarkJ

+0

@nos, ऑब्जेक्ट्स को आगे और आगे भेजने के लिए आपको अभी भी एक एपीआई चाहिए हालांकि newForumPos (फोरमपोस्ट) इत्यादि की तरह ... आपको ऑब्जेक्ट्स या उनके फ़ील्ड को स्थानांतरित करने के बजाय कोड लिखना होगा, यह स्वचालित रूप से यह किया गया है कि XSTM कैसे काम करता है (http://xstm.net/) –

उत्तर

6

यह वास्तव में .Net remoting को प्रतिस्थापित करता है। आप एक टीसीपी चैनल के साथ एक बाइनरी फॉर्मेटर का उपयोग कर सकते हैं और रिमोटिंग के समान अनुभव प्राप्त कर सकते हैं।

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

+0

शायद मैं रिमोटिंग को गलत समझ सकता हूं ... क्या यह _replicate_ ऑब्जेक्ट्स करता है या एक सर्वर प्रतिलिपि रखता है जो _accessed_ दूरस्थ रूप से है? –

+0

@ जॉन: न तो और न ही - डब्ल्यूसीएफ धारावाहिक संदेश भेजने के बारे में है - संदेश जो केवल डेटा हैं, कोई व्यवहार/कोड/विधियां नहीं हैं। उस संबंध में, हां, डब्ल्यूसीएफ रिमोटिंग को प्रतिस्थापित नहीं कर सकता है क्योंकि यह वास्तव में "रिमोट कंट्रोलिंग ऑब्जेक्ट्स" तकनीक की तरह नहीं है –

+3

@ जॉन - नेट रीमोटिंग के साथ, यह बाद वाला है: आप किसी ऑब्जेक्ट की स्थिति को दूरस्थ रूप से एक्सेस करते हैं, और केवल अंतराल से मार्शल कॉल करने वाली endpoint। यदि आप वास्तविक वस्तु को भेजना चाहते हैं, तो आप जो चाहते हैं वह कुछ सेवा-उन्मुख है, जो वस्तु स्थिति को क्रमबद्ध करता है और इसे एंडपॉइंट-टू-एंडपॉइंट से संदेश के रूप में भेजता है। डब्ल्यूसीएफ दोनों कर सकते हैं, लेकिन संदेश भेजने के लिए यह अधिक स्वाभाविक है। इसका कारण यह है कि हमने डीसीओएम के माध्यम से सीखा है कि सीमाओं में ऑब्जेक्ट स्टेटस की पारदर्शी पहुंच खराब डिजाइन है। – codekaizen

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