c# - डब्ल्यूसीएफ बनाम एएसपी.नेट वेब एपीआई



wcf asp.net-web-api (9)

डब्ल्यूसीएफ आपको बॉक्स से बाहर कर देगा, यह किसी भी चीज से तुलनीय नहीं है। जब तक आप अपने कुछ कार्यान्वयन (प्रमाणीकरण, एन्क्रिप्शन, क्यूइंग, थ्रॉटलिंग, विश्वसनीय संदेश, लॉगिंग, सत्र आदि) के अपने कार्यान्वयन पर नहीं करना चाहते हैं। डब्ल्यूसीएफ [केवल] वेब सेवाएं नहीं है; डब्ल्यूसीएफ एसओए के लिए एक विकास मंच है।

मैंने डब्ल्यूसीएफ के पीछे अवधारणाओं को समझने की कोशिश में कुछ महीने बिताए हैं और हाल ही में मैंने अपना पहला डब्ल्यूसीएफ सेवा आवेदन विकसित किया है।

मैंने कॉन्फ़िगरेशन फ़ाइल में सभी सेटिंग्स को समझने के लिए काफी कुछ संघर्ष किया है।
मैं पर्यावरण के बारे में आश्वस्त नहीं हूं लेकिन ऐसा लगता है कि आप इसके साथ अद्भुत चीजें कर सकते हैं।

दूसरे दिन मुझे पता चला है कि माइक्रोसॉफ्ट एएसपी.नेट वेब एपीआई नामक एक नई चीज़ के साथ बाहर आया है।

जो मैं पढ़ सकता हूं उसके लिए यह एक विश्वसनीय ढांचा है , जिसका उपयोग करना और कार्यान्वित करना बहुत आसान है।

अब, मैं यह समझने की कोशिश कर रहा हूं कि 2 ढांचे के बीच मुख्य अंतर क्या हैं और यदि मुझे अपने पुराने डब्ल्यूसीएफ सेवा एप्लिकेशन को नए एपीआई के साथ बदलने और बदलने की कोशिश करनी चाहिए।

क्या कोई, कृपया मुझे प्रत्येक के मतभेदों और उपयोग को समझने में मदद कर सकता है?


नीचे सूचीबद्ध परिदृश्यों में आपको डब्ल्यूसीएफ के लिए जाना चाहिए:

  1. यदि आपको टीसीपी, एमएसएमक्यू या एमआईएम जैसे प्रोटोकॉल पर डेटा भेजने की आवश्यकता है
  2. यदि उपभोक्ता ग्राहक सिर्फ एसओएपी संदेशों का उपभोग करने के बारे में जानता है

वेब एपीआई रीस्टफुल / एचटीटीपी सेवाओं के विकास के लिए एक ढांचा है।

ऐसे कई ग्राहक हैं जो एसओएपी को ब्राउजर, एचटीएमएल 5 की तरह समझ में नहीं आते हैं, उन मामलों में वेब एपीआई एक अच्छी पसंद है।

HTTP सेवा हेडर निर्दिष्ट करता है कि सेवा को कैसे सुरक्षित किया जाए, जानकारी कैश कैसे करें, संदेश निकाय का प्रकार और HTTP निकाय किसी भी प्रकार की सामग्री निर्दिष्ट कर सकता है जैसे एचटीएमएल सिर्फ एसओएपी सेवाओं के रूप में एक्सएमएल नहीं।


एएसपीनेट वेब एपीआई HTTP और आरईएसटी आधारित जीईटी, पोस्ट, पुट, प्रोग्रामिंग और जेएसओएन लौटने योग्य एएसपीनेट एमवीसी शैली के बारे में अच्छी तरह से पता है; वेब एपीआई सभी हल्के वजन प्रक्रिया और शुद्ध HTTP आधारित घटकों के लिए है। एक आसान या सरल एकल वेब सेवा के लिए भी डब्ल्यूसीएफ के साथ आगे बढ़ने के लिए यह सभी अतिरिक्त सामान लाएगा। AJAX या गतिशील कॉल के लिए हल्के वजन के लिए सरल सेवा हमेशा WebApi आवश्यकता को हल करती है। यह अच्छी तरह से एएसपीनेट एमवीसी के समानांतर में पूरक या मदद करता है।

पॉडकास्ट देखें: हंसेलमिनेट्स पॉडकास्ट 264 - यह आपके पिता का डब्ल्यूसीएफ नहीं है - अधिक जानकारी के लिए स्कॉट हंसेलमैन द्वारा ग्लेन ब्लॉक के साथ वेबएपीआई के बारे में सब कुछ।


अब तक दोनों का उपयोग करने के बाद, मुझे डब्ल्यूसीएफ और वेब एपीआई के बीच कई अंतर मिले। दोनों प्रौद्योगिकियों अलग-अलग परिदृश्य में अच्छी तरह उपयुक्त हैं। तो यह कहना संभव नहीं है कि कौन सा बेहतर है, यह विन्यास और परिदृश्य पर निर्भर करता है।

नोट: डेटा न केवल मेरा विचार है बल्कि यह अन्य आधिकारिक वेबसाइट से भी एकत्रित किया जाता है।


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

जेएसओएन एलडी (जेसन लिंक्ड डॉक्यूमेंट्स) एक और उभरता हुआ मानक है जो जेएसओएन आधारित आरईएसटी डेवलपर अनुभव को बेहतर अर्थशास्त्र के साथ जेएसओएन स्कीमा को उजागर करके बेहतर करेगा।


हमारे लिए, आरओएसटी के लिए एसओएपी और वेब एपीआई के लिए डब्ल्यूसीएफ का उपयोग किया जाता है। मैं चाहता हूं कि वेब एपीआई भी एसओएपी का समर्थन करे। हम डब्ल्यूसीएफ की उन्नत सुविधाओं का उपयोग नहीं कर रहे हैं। msdn.microsoft.com/en-us/library/jj823172.aspx से तुलना यहां दी गई है:


Wcf के साथ हम टीसीपी, http.if जैसे कई एंडपॉइंट्स के लिए समान सेवा समर्थन को कॉन्फ़िगर और एक्सपोज़ कर सकते हैं, यदि आप चाहते हैं कि आपकी सेवा केवल http आधारित हो, तो वेब एपीआई के साथ जाना बेहतर होगा। WCF की तुलना में वेब एपीआई बहुत कम कॉन्फ़िगरेशन है और wcf से थोड़ा तेज है। डब्ल्यूसीएफ भी आराम से सेवाओं का समर्थन करता है। यदि आपके पास नेट फ्रेमवर्क 3.5 की सीमा है तो आपका विकल्प wcf है।


इसके बारे में एमएसडीएन पर एक तुलना है

डब्ल्यूसीएफ और एएसपी.नेट वेब एपीआई

मेरे लिए, विकल्प इस बारे में था कि ग्राहक कौन हैं, और वे कहां स्थित हैं?

कंपनी नेटवर्क और .NET आधारित ग्राहकों के भीतर: टीसीपी बाध्यकारी (HTTP से तेज़ संचार) के साथ डब्ल्यूसीएफ का उपयोग करें

कंपनी नेटवर्क के बाहर, और PHP, पायथन आदि जैसी विविध तकनीकों का उपयोग करें: आरईएसटी के साथ वेब एपीआई का उपयोग करें


दूसरे शब्दों में :

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

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

http://mattmilner.com/Milner/Blog/post/2013/04/02/WCF-Data-Services-and-Web-API-with-OData;-choices-choices.aspx





c# wcf asp.net-web-api