2008-10-19 17 views

उत्तर

8

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

Here विषय पर एक एमएसडीएन मंच चर्चा है। यहां ASMX और WCF के लिए प्रारंभ पृष्ठ शुरू हो रहे हैं।

43

एएसपी.NET वेब सेवाओं को उन अनुप्रयोगों के निर्माण के लिए विकसित किया गया था जो HTTP पर सरल ऑब्जेक्ट एक्सेस प्रोटोकॉल (SOAP) का उपयोग कर संदेश भेजते और प्राप्त करते हैं।

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

आप डब्ल्यूसीएफ सेवाओं के सबसेट के रूप में एएसपी.नेट वेब सेवाओं को देख सकते हैं।

Here दो ढांचे की तुलना में एक लिंक है।

+0

+1 लिंक के लिए धन्यवाद और अच्छी स्पष्ट स्पष्टीकरण –

1

वे सभी एक साथ दो अलग-अलग चीजें हैं। डब्ल्यूसीएफ एक अधिक सामान्य ढांचा है जिसके माध्यम से आप एक सेवा प्रकार घटक लिख सकते हैं और इसे कई तरीकों से तैनात कर सकते हैं (यहां तक ​​कि एक Asp.Net वेब सेवा भी)।

यहाँ इस http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/2d6a7ff2-f15c-4599-a389-a81cfffcc852/

28

यह काफी मतभेद पता करने के लिए आसान है के बारे में एक संक्षिप्त धागा है।

ASP.NET वेब विधि कहा जाता है ASMX [फ़ाइल एक्सटेंशन के कारण]

कि प्रौद्योगिकी आप एक वेब सेवा के रूप में कार्य का पर्दाफाश, तो आप इसे से कनेक्ट कर सकते हैं बनाता है (इस बारे में 4GuysFromRolla जाँच, वे एक good tutorial है) हर जगह और इसका इस्तेमाल करें। लेकिन ... आप सर्वर और ग्राहक के बीच डेटा की रक्षा नहीं कर सकते, तो आप बड़ी फ़ाइलों को साफ, आदि भेजने के लिए और पता है क्या happend कर सकते हैं ...

[नोट] क्या आप का उपयोग कर वेब सेवा के लिए उपयोग की रक्षा कर सकते प्रमाण पत्र, लेकिन यह जटिल है लेकिन आम तौर पर, एएसएमएक्स में हम उपयोगकर्ता नाम/पासस्वर्ड का उपयोग करते हैं।

WCF में

, आप वेब सेवाओं के बारे में अलग दुनिया में हैं, और यह नेट सेवा का पर्दाफाश करने में सर्वश्रेष्ठ प्रौद्योगिकी s (आप अंतर ...सेवाएं! नहीं वेब सेवा को देख सकते हैं) , डब्ल्यूसीएफ को चलाने के लिए आईआईएस की आवश्यकता नहीं है, यह कंसोल परिवेश (जैसे कमांड लाइन) इत्यादि का उपयोग कर सर्वर पर सिस्टम सेवा के रूप में चलाया जा सकता है, इसलिए हम कहते हैं कि डब्ल्यूसीएफ एक सेवा नहीं है वेब सेवा। याद रखें कि एएसएमएक्स को चलाने के लिए आईआईएस की आवश्यकता है।

WCF साथ

आप SSL का उपयोग संचार एन्क्रिप्ट करने के लिए कर सकते हैं (कि ASMX में आप WSE उपयोग करने की आवश्यकता करने के लिए - वेब सेवा संवर्द्धन) तो आपको उस ASMX में आप का उपयोग करने की जरूरत है ऐसा करने के लिए बड़ी फ़ाइलों को भेजने और सुरक्षित रूप से कर सकते हैं (एमटीओएम - संदेश ट्रांसमिशन अनुकूलन तंत्र)।

आप प्रसारण वरीयताओं सिर्फ कोड की एक पंक्ति को बदलने के सेट कर सकते हैं, सुरक्षा आदि, आदि :)

आशा है कि आप इस के साथ एक बेहतर सामान्य अवलोकन मिलता है, लेकिन वहाँ बहुत अधिक है बहुत अधिक है,।

नीचे पंक्ति: वेब सेवाओं को बेनकाब करने के लिए जिन्हें आपको सुरक्षित रखने की आवश्यकता नहीं है, आप एएसएमएक्स का उपयोग कर सकते हैं, कोई समस्या नहीं है, लेकिन अगर आपको संचार की रक्षा करने की ज़रूरत है, तो इसे डब्ल्यूसीएफ में करें!

लिंक: you can read here some performance comparative between the 2 services

+0

+1 धन्यवाद, महान विवरण –

7

ऊपर प्रतिक्रियाओं के अलावा, WCF .NET 3.0 में और उससे आगे नेट दूरस्थ को बदलने के लिए बनाया गया था। एसओएपी, आरईएसटी, पीओएक्स, आदि के अलावा विभिन्न प्रारूपों (जैसे एक्सएमएल और जेएसओएन) में वेब सेवाएं, डब्ल्यूसीएफ एमएसएमक्यू और नामित पाइप्स भी प्रदान करता है। जैसा कि ऊपर बताया गया है, एएसएमएक्स, केवल एसओएपी-आधारित एक्सएमएल वेब सेवाएं प्रदान करता है।

आपको अन्य प्रकार के संचार प्रोटोकॉल के लिए .NET Remoting में स्थानांतरित करने की आवश्यकता होगी। अतिरिक्त जानकारी के लिए, आपको Pro C# 2008 and the .NET 3.5 Framework देखें। यह एक महान संसाधन है, और आप पिछले पुस्तकों के अध्याय प्राप्त कर सकते हैं जो .NET Remoting, और अन्य प्रतिस्थापित सुविधाओं को कवर करते हैं।

1

मुझे एक ही समस्या थी।

मुझे Microsoft Windows Communication Foundation Step by Step पुस्तक वास्तव में अच्छी लगती है।

आप सिर्फ WCF का प्रयोग पारंपरिक वेब सेवा बात करना चाहते हैं, तो उस पुस्तक के अध्याय 1 आपको बताएंगे कि वास्तव में कैसे करने के लिए (लिखने सेवा, परीक्षण, नियोजित करने, उपयोग सेवा) होगा।

यह वीएस2005 के लिए लिखा गया है, लेकिन मैं बनाम 2008 का उपयोग कर रहा हूं और इसे और भी आसान पाया।

डब्ल्यूसीएफ के लिए बहुत कुछ है, लेकिन यह पुस्तक अच्छी शुरुआत है।

+0

+1 –

4

यहां एक नया, बड़ा, अंतर है: माइक्रोसॉफ्ट अब एएसएमएक्स वेब सेवाओं को "विरासत" तकनीक मानता है। "XML Web Services Created Using ASP.NET and XML Web Service Clients" देखें।

+1

+1 के लिंक के लिए धन्यवाद धन्यवाद जैसा कि आपने अन्य पदों में पहले यह उल्लेख किया है और यह एक महत्वपूर्ण बिंदु है। – RichardOD

+0

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

2

वेब सेवा

  1. यह केवल HTTP पर पहुँचा जा सकता है
  2. यह राज्यविहीन वातावरण में काम करता है क्योंकि अपनी सेवाओं विभिन्न प्रकार में होस्ट किया जा सकता

WCF

WCF लचीला है अनुप्रयोगों के। निम्न सूची WCF सेवाओं की मेजबानी के लिए कई सामान्य परिदृश्य:

  • IIS
  • था
  • स्व की मेजबानी
  • प्रबंधित Windows सेवा
1

वेब सेवा और WCF के बीच मुख्य अंतर के नीचे सूचीबद्ध हैं ।

वेब सेवा: वेब सेवा एक ऐसा एप्लिकेशन है जो इंटरनेट पर अन्य अनुप्रयोगों के साथ सीधे बातचीत करने के लिए डिज़ाइन किया गया है।

1) [वेब सेवा] और [वेबमाइड] विशेषताएँ वेब सेवा और विधियों को परिभाषित करती हैं।
2) इसे केवल HTTP पर एक्सेस किया जा सकता है।
3) आईआईएस में होस्ट किया गया।
4) समर्थन सुरक्षा सेवाएं।
5) बहुप्रचारित नहीं किया जा सकता है।
6) केवल प्रयुक्त साबुन या एक्सएमएल।
7) System.Xml.serialization नाम अंतरिक्ष क्रमबद्धता

WCF के लिए प्रयोग किया जाता है: Windows संचार फाउंडेशन (कोड इंडिगो नाम) के निर्माण के लिए एक प्रोग्रामिंग मंच और क्रम प्रणाली है, विन्यस्त और नेटवर्क से वितरित सेवाओं की तैनाती।

1) [ServiceContract] और [OperationContract] विशेषताएँ वेब सेवा और विधियों को परिभाषित करती हैं।
2) HTTP, टीसीपी, एमएसएमक्यू, पी 2 पी, नामित पाइप
3) आईआईएस, सेल्फ-होस्टिंग, डब्ल्यूएएस और विंडोज सर्विस में होस्ट किया गया।
4) सेवा व्यवहार वर्ग के माध्यम से बहुप्रचारित किया जा सकता है।
5) System.Runtime.Serialization नाम स्थान क्रमबद्धता
6) के लिए प्रयोग किया जाता है BasicHttpBinding, WSHttpBinding तरह बाइंडिंग के विभिन्न प्रकार का समर्थन करता है, WSDualHttpBinding आदि
7) सुरक्षा सेवाओं, विश्वसनीय संदेश, लेन-देन, AJAX और बाकी समर्थन समर्थन

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