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




wcf asp.net-web-api (7)

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

https://code.i-harness.com

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

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

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

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

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

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


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

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


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

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


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

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


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

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

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

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

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


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

वेबपीआई का समर्थक डब्ल्यूसीएफ की तुलना में अधिक हल्का है।


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

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





asp.net-web-api