2012-02-29 2 views
25

क्या है .net
में WCF सेवा और वेब सेवाओं के बीच का अंतर मैं WCF और जब वेब Services.Is आराम और WCF सेवा एक ही उपयोग करने के लिए उपयोग कब करना चाहिए? धन्यवादअंतर

+0

[डब्ल्यूसीएफ बनाम एएसएमएक्स वेब सेवा] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/2448472/wcf-vs-asmx-web-service) –

+0

कृपया पिछले प्रश्नों की खोज करने में थोड़ा सा समय व्यतीत करें। मैंने अभी "डब्ल्यूसीएफ बनाम एएसएमएक्स" टाइप किया है और सूची के शीर्ष पर डुप्लिकेट पाया है। –

उत्तर

25

वेब सेवा एक अमूर्त शब्द है जो वितरित सिस्टम के लिए बड़ी संख्या में डेटा प्रदाताओं को शामिल करता है। शायद आप एएसएमएक्स वेब सेवाओं का जिक्र कर रहे हैं, जो अभी भी जंगली में पाए जा सकते हैं लेकिन वास्तव में इन दिनों नए विकास में व्यापक रूप से उपयोग नहीं किए जाते हैं।

डब्ल्यूसीएफ सेवा माइक्रोसॉफ्ट का एसओएपी का कार्यान्वयन है। अन्य कार्यान्वयन हैं या आप अपना खुद का रोल कर सकते हैं (अनुशंसित नहीं)।

SOAP एक प्रकार का राज्यव्यापी, सत्र-आधारित, संदेश-आधारित वेब सेवा है। यह अच्छा है अगर आपकी सेवा जटिल कार्यों के सेट के रूप में डिज़ाइन की गई है।

REST एक स्टेटलेस, सत्रहीन, संसाधन-आधारित वेब सेवा है। यह अच्छा है अगर आपकी सेवा डेटा तक पहुंचने और उस पर सरल सीआरयूडी संचालन करने के लिए डिज़ाइन की गई है। एसओएपी और आरईएसटी पारस्परिक रूप से अनन्य हैं। एक सेवा दोनों नहीं हो सकती है। बनाने के लिए वेनिला डब्ल्यूसीएफ में हेरफेर करने के तरीके हैं लेकिन इन तकनीकों को हटा दिया जा रहा है। यदि आप एक विश्वसनीय वेब सेवा को कार्यान्वित करना चाहते हैं तो माइक्रोसॉफ्ट दुनिया में दो मुख्य विकल्प हैं: डब्ल्यूसीएफ डाटा सर्विसेज और एएसपी.नेट वेब एपीआई।

+3

"बहिष्कृत" एक शब्द बहुत मजबूत है। इसके अलावा, डब्ल्यूसीएफ में आरईएसटी और एसओएपी बाइंडिंग के साथ एक ही सेवा का पर्दाफाश कर सकते हैं। –

+2

केवल स्टेटलेस, संसाधन-आधारित सीआरयूडी की तुलना में एक आरईएसटी आर्किटेक्चर के लिए बहुत अधिक भयानक है। सबसे महत्वपूर्ण घटक दो प्रकार के सामग्री प्रकार हैं और हाइपरटेक्स्ट का उपयोग अनुप्रयोग राज्य के इंजन के रूप में करते हैं। – cdeszaq

4

एक बहुत व्यापक सवाल यह है कि यही कारण है कि ... मैं बस एक संक्षिप्त उच्च स्तरीय जवाब देने के लिए जा रहा हूँ और आप कुछ और खोज है कि वहाँ के रूप में पहले से ही एक बहुत प्रत्येक विषय पर लिखा है कर रहे हैं सुझाव देते हैं। लेकिन, उम्मीद है कि यह आपको सही दिशा में धक्का दे।

पहला, आम तौर पर जब लोग डब्ल्यूसीएफ सेवाओं और वेब सेवाओं का संदर्भ लेते हैं, तो वे नए डब्ल्यूसीएफ सम्मेलनों का जिक्र कर रहे हैं जो सेवा कॉल को काफी सामान्य बनाते हैं (वे SOAP, REST, आदि हो सकते हैं) और पुरानी .asmx SOAP विधि वेब सेवाएं। इसलिए, इन पंक्तियों के साथ, मैं डब्ल्यूसीएफ और पुराने वेब सेवाओं के अंतर के लिए डब्ल्यूसीएफ और एसओएपी/.एएसएमएक्स में और अधिक देखने का सुझाव दूंगा।

डब्ल्यूसीएफ और आरईएसटी के रूप में, वे समान नहीं हैं। आरईएसटी एक वास्तुकला का अधिक है, जबकि डब्ल्यूसीएफ एक ढांचा है। जैसा कि मैंने पहले ही उल्लेख किया है, डब्ल्यूसीएफ का उपयोग एसओएपी कॉल या आरईएसटी कॉल करने के लिए किया जा सकता है। मुझे यकीन नहीं है कि मैं अधिक विस्तार से बिना अधिक जोड़ सकता हूं।

मैं अगर मैं बाकी और WCF थोड़ी देर बाद पर कुछ अच्छा लेख है, हालांकि पा सकते हैं देखेंगे। निजी तौर पर, मुझे वेब सेवाओं (.ASMX पृष्ठों) को बुलाए जाने के पुराने तरीके से बहुत दूर तक पहुंचने का कोई कारण नहीं दिखता है क्योंकि डब्ल्यूसीएफ ने अप्रचलित बना दिया है। हालांकि, बिल्ली को त्वचा के कई अलग-अलग तरीकों से सीखना आपके लिए सबसे अच्छा फिट बैठने के प्रयास में उपयोगी हो सकता है।

फिर, यह बहुत ही उच्च स्तर है, लेकिन इन प्रत्येक आसपास के बहुत से बहुत ही सामान्य विषय हैं, इसलिए उम्मीद है एक उच्च स्तरीय सिंहावलोकन प्रत्येक विषय पर गहरा अध्ययन करने में निर्देशित करने में मदद करेगा।

+0

_Some_ लोगों का मतलब है "ASMX" जब वे "वेब सेवाएं" कहते हैं। अन्य लोग सामान्य तकनीक का अर्थ लेने के लिए "वेब सेवा" का उपयोग करते हैं, और डब्ल्यूसीएफ को .NET प्लेटफ़ॉर्म पर वेब सेवा बनाने का वर्तमान तरीका मानते हैं। इसमें मुझे शामिल होगा। दूसरी तरह "एएसएमएक्स वेब सर्विसेज" हैं, जिन्हें "डब्ल्यूसीएफ वेब सर्विसेज" से अलग किया गया है। –

+0

@ जॉन सैंडर्स आप सही हैं, मुझे लगता है कि मैं इस सवाल से बाहर जा रहा था, और चूंकि यह अंतर मांग रहा था, इसलिए मेरा दिमाग उस मार्ग से चला गया जो उसने किया था। हालांकि, आप सही हैं, आम तौर पर, ज्यादातर लोगों का मतलब सामान्य तकनीक के संदर्भ में वेब सेवाएं है। –

1

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

FYI करें, वहाँ WCF का उपयोग कर बाकी आधारित सेवाओं को बनाने के लिए एक्सटेंशन हैं (WebInvoke, WebGet जिम्मेदार बताते हैं)।

+0

डब्ल्यूसीएफ और आरईएसटी के बीच बड़ा अंतर यह है कि एक ढांचा है और एक वास्तुकला है। तो, वास्तव में दोनों की तुलना करना बहुत मुश्किल हो जाता है। यह भी दिल की ओर जाता है कि क्यों डब्ल्यूसीएफ का उपयोग रीस्टफुल सेवाओं को बनाने के लिए किया जा सकता है, क्योंकि आर्किटेक्चर को लागू करने के लिए एक ढांचे का उपयोग किया जा सकता है। –

+0

आप वास्तव में यहां तुलना कर रहे हैं SOAP और REST है। –

+0

मुझे पता है कि यह एसओएपी और आरईएसटी के बारे में अधिक है, इसलिए "अपने सबसे आम उपयोग के संबंध में", जो एसओएपी सेवाओं के लिए है। सवाल थोड़ा सा लगता है जैसे यह किसी नए से हो सकता है, लेकिन डब्ल्यूसीएफ 101 स्तर की अवधारणाओं को समझ गया, और उसे अधिभारित नहीं करना चाहता था। – Rich

9

REST एक वास्तुकला

है

WCF कनेक्टेड सेवा उन्मुख अनुप्रयोग बनाने के लिए .NET Framework में एक एपीआई है।

पुराने दिनों में वेब सेवा के रूप में विकसित एक कार्यक्षमता इंटरनेट के माध्यम से सुलभ थी और स्थानीय नेटवर्क पर उपलब्ध होने के लिए रीमोटिंग के माध्यम से उपलब्ध था।

WCF का उपयोग करते हुए हम इसे इंटरनेट पर और स्थानीय नेटवर्क पर सुलभ होने के लिए अलग अलग कोड विकसित करने की आवश्यकता नहीं है। बस बाइंडिंग के साथ इसे विन्यस्त करना पर्याप्त होगा।

3

कुछ लोगों का मतलब है "एएसएमएक्स" जब वे "वेब सेवाएं" कहते हैं।

अन्य सामान्य तकनीक का मतलब "वेब सेवा" का उपयोग करते हैं, और डब्लूसीएफ को .NET प्लेटफ़ॉर्म पर वेब सेवा बनाने का वर्तमान तरीका मानते हैं। दूसरी तरह "एएसएमएक्स वेब सर्विसेज" हैं, जिन्हें "डब्ल्यूसीएफ वेब सर्विसेज" से अलग किया गया है।

"अन्य प्रकार" एक विरासत तकनीक है, जो केवल पिछड़ा संगतता के लिए समर्थित है। उन्हें नए विकास के लिए इस्तेमाल नहीं किया जाना चाहिए, इसलिए उनके बारे में सीखने में कोई बात नहीं है।

जैसा कि अन्य ने कहा है, "आरईएसटी" एक वास्तुकला शैली है, न कि एक तकनीक।

1

WCF: WCF .NET फ्रेमवर्क जो एकीकृत प्रोग्रामिंग मॉडल का पालन करते हुए विभिन्न वितरित प्रौद्योगिकियों एक साथ काम करने के वातावरण प्रदान करता है के हिस्से के रूप में एक तकनीक है। wcf प्रॉक्सी बनाएं। डब्ल्यूसीएफ समर्थन डेटा अनुबंध serializer। रिकॉर्ड एक्सएमएल प्रारूप दिखाया गया।

** बाकी: ** बाकी एक वास्तुशिल्प शैली है। जो कहता है कि वेब की मौजूदा विशेषताओं को अधिक प्रभावी, दक्षता और सरल तरीके से उपयोग करें। जैसे कि सम्मिलित करें, अपडेट करें और हटाएं। बाकी प्रॉक्सी नहीं बना सकते हैं। बाकी रिकॉर्ड जेसन प्रारूप दिखाए गए।

वेब सेवा: वेबसाइट पर होस्ट की जाने वाली एक सेवा को webservice कहा जाता है। वेब सेवा समर्थन xmlserializer

0

मुझे लगता है कि यह काफी पुराना धागा है, लेकिन मैंने हाल ही में एक समान प्रश्न पूछा है।

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

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