कौन सा .NET REST दृष्टिकोण / तकनीक / उपकरण का उपयोग करना चाहिए?


16

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

हमने .NET 3.5 के साथ REST स्टार्टर किट का उपयोग शुरू किया लेकिन .NET 4.0 को अपडेट करते समय नए WCF वेब एपीआई में चले गए। उनके सभी प्रलेखन इंगित करते हैं कि WCF वेब एपीआई RSK के लिए प्रतिस्थापन है। हालाँकि, वेब एपीआई केवल पूर्वावलोकन 4 में है और इसमें सिल्वरलाइट या विंडोज फोन 7 क्लाइंट (अभी तक) के लिए समर्थन शामिल नहीं है।

WCF Web API System.ServiceModel.Webलाइब्रेरी में उपलब्ध WCF WebHttp Services के शीर्ष पर एक आवरण की तरह दिखता है, जो मुझे लगता है कि शायद यह बिल्ट-इन सामान के साथ जाना सरल होगा, लेकिन Web API कुछ अच्छी सुविधाएँ प्रदान करता है।

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

मैं नवीनतम दृष्टिकोण और टूलसेट का उपयोग करना चाहता हूं जो सक्रिय रूप से विकसित और समर्थित हो रहा है।

  1. क्या REST Starter Kit वास्तव में अप्रचलित है?

  2. क्या किसी को डब्ल्यूसीएफ वेब एपीआई टूलकिट को लागू करने में कोई सफलता मिली है?

  3. क्या अंतर्निहित WCF WebHttp Services सुविधाओं में इनमें से किसी का उपयोग करने के लिए योग्यता है System.ServiceModel.Web?

  4. क्या कोई एकल समाधान है जो किसी भी ग्राहक (वेब, सिल्वरलाइट, आदि) के लिए काम करता है?

आपके पास क्या सुझाव हैं?


मैं अत्यधिक उपयोग करने की सलाह
दूंगा

जवाबों:


6

बस अनुवर्ती कार्रवाई करने और पोस्ट को बंद करने के लिए, पूर्वावलोकन 5 के साथ, WCF वेब एपीआई ने एक विशाल छलांग लगाई, जिससे यह REST एपीआई बनाने के लिए अविश्वसनीय रूप से सरल हो गया। और जबकि कोडप्लेक्स पर वर्तमान कोडबेस में सिल्वरलाइट क्लाइंट शामिल नहीं है, वहाँ एक टूलकिट है और मैं आसानी से खुले स्रोत कोड से एसिंक्स-सीटीपी भागों को बाहर निकालने और एक एसएल संस्करण बनाने में सक्षम था।

मैं दृढ़ता से WCF ढांचे के साथ REST में शामिल होने में रुचि रखने वाले किसी भी व्यक्ति की सिफारिश करता हूं: http://wcf.codeplex.com

FYI करें - यह .NET 4.5 का एक एकीकृत हिस्सा होगा और वर्तमान में ASP.NET MVC के रूप में एक ही मुख्य ढांचे पर चलाने के लिए फिर से लिखा जा रहा है (हालांकि मुझे बताया गया है कि यह निश्चित रूप से स्व-होस्टिंग का समर्थन करेगा)।


1

मैंने REST स्टार्टर किट का उपयोग किया था, लेकिन वर्तमान में एक .net 4.0 WCF REST API im लिखने में काफी यकीन है कि यह अभी भी मौजूद है :)

मुझे लगता है कि आप ओडटा पर एक नज़र डालेंगे। इसकी आश्चर्यजनक त्वरित और सरल कोड के लिए और अच्छी तरह से चांदी की रोशनी के साथ खेलता है।


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

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

मैंने ऐसा नहीं सोचा था कि WCF के साथ REST को सक्षम करने के लिए webHttpBinding का उपयोग करते हुए एक मैक्सिकन समापन बिंदु का समर्थन किया। आप सेवा संदर्भ कैसे जोड़ रहे हैं? मेरे डेटा कॉन्ट्रैक्ट वाले एक सामान्य पुस्तकालय को साझा करने पर मेरी प्राथमिकता होगी।
सोनऑफपाइरेट

हाँ, मैं सिर्फ एक सेवा पुनर्वित्त जोड़ा। आपको कॉन्फ़िगरेशन फ़ाइल में समापन बिंदु को परिभाषित करने की आवश्यकता हो सकती है।
टॉम स्क्वायर्स

मैंने अभी सीखा (कठिन तरीका) जो सिल्वरलाइट WebHttpBinding का समर्थन नहीं करता है। इसलिए, भले ही मैं एक मेक्सिको समापन बिंदु और सेवा संदर्भ जोड़ने में सक्षम था, सेवा कॉल नहीं करेगी क्योंकि यह समापन बिंदु को हल नहीं कर सका।
सोनऑफपिरेट

1

WCF वेब एपीआई किसी भी मेटाडेटा जानकारी को प्रदान नहीं करता है जिसे आप एक सेवा प्रॉक्सी उत्पन्न करने के लिए उपयोग करेंगे और इस प्रकार, सेवा संदर्भ जोड़ने में सक्षम होंगे। यह WCF छतरी के नीचे REST सेवाओं के आसान उत्पादन के लिए है, जैसे आप ASP.NET MVC 4 वेब एपीआई ढांचे के साथ करते हैं।

इसलिए WP7 या सिल्वरलाइट के लिए कोई समर्थन नहीं है, लेकिन यह बाकी वेब के लिए लगभग सही है।

हालाँकि, WCF Data Services एक सही उम्मीदवार की तरह दिखती है, यह आपको RESTful सेवाओं को बनाने और सिल्वरलाइट के साथ आसानी से उपभोग करने की अनुमति देती है।


हम लगभग एक वर्ष से सिल्वरलाइट क्लाइंट के साथ वेब एपीआई का उपयोग कर रहे हैं, जिसमें कोई समस्या नहीं है।
SonOfPirate
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.