वेब एपीआई नियंत्रक किसी भी एएसपी.NET अनुप्रयोग में बनाया और होस्ट किया जा सकता है, न केवल एमवीसी अनुप्रयोगों। इस प्रकार, वेब एपीआई बनाने का एक स्पष्ट कारण यह है कि यदि आपके पास एमवीसी फ्रंट-एंड नहीं है (उदाहरण के लिए क्लासिक, रीस्टफुल वेब-सर्विसेज आपकी कंपनी/संगठन द्वारा होस्ट की गई है।)
एमवीसी नियंत्रक आम तौर पर एमवीसी फ्रेमवर्क पर भरोसा करते हैं, यदि आप डिफ़ॉल्ट टेम्पलेट्स देखते हैं और समुदाय और आपके साथियों द्वारा किए गए अधिकांश कार्यों में आप देखेंगे कि लगभग सभी एमवीसी नियंत्रक दृश्य में दिमाग के साथ कार्यान्वित किए जाते हैं।
व्यक्तिगत रूप से, जब मैं एक व्यू() के साथ प्रतिक्रिया देना चाहता हूं, तो मैं एमवीसी नियंत्रकों का उपयोग करता हूं, और मैं किसी विशेष दृश्य पर निर्भर नहीं होने के लिए एक वेब एपीआई का उपयोग करूंगा।
बेशक चेतावनी हैं, लेकिन आम तौर पर यदि आपको एमवीसी के मॉडल बाध्यकारी व्यवहार की आवश्यकता नहीं है, तो आपकी सेवा डेटा केंद्रित है, और संचालन डेटा केंद्रित (उदाहरण के लिए सीआरयूडी ऑपरेशंस) हैं, तो आप शायद एक चाहते हैं 'मॉडल-व्यू कंट्रोलर' के बजाय 'वेब एपीआई कंट्रोलर'। इसके विपरीत, यदि आपके परिचालन व्यू-केंद्रित हैं (उदा।उपयोगकर्ता को उपयोगकर्ता व्यवस्थापक पृष्ठ प्रदान करना), या आपको 'AJAX आंशिक' (बहुत ही असंभव) उत्पन्न करने के लिए एमवीसी के मॉडल बाइंडिंग की आवश्यकता है, तो आप इसके बजाय एक एमवीसी नियंत्रक चाहते हैं।
व्यक्तिगत रूप से, मैं जेएसओएन-आधारित रीस्टफुल क्लाइंट को चलाने के लिए वेब एपीआई नियंत्रकों का उपयोग करता हूं, मैं मूल ब्राउज़र रूटिंग और एसपीए की डिलीवरी को संभालने के लिए एमवीसी नियंत्रकों का उपयोग करता हूं।
स्रोत
2013-01-11 21:34:07
संभावित डुप्लिकेट [एपीपीनेट एमवीसी में एपीकंट्रोलर और नियंत्रक के बीच अंतर] (http: // stackoverflow।कॉम/प्रश्न/9 4 9 4 9 66/अंतर-बीच-एपिकंट्रोलर-एंड-कंट्रोलर-इन-एएसपी-नेट-एमवीसी) – digawp
ध्यान देने योग्य है कि यह प्रश्न किसी निश्चित संदर्भ के लिए विशिष्ट है: लेखक जानना चाहता है कि केवल नियंत्रक का उपयोग करने के लिए क्या होगा जेसन वापस किया जाना चाहिए। एक आरईएसटी एपीआई सामग्री बातचीत के आधार पर विभिन्न मीडिया स्वरूपण की अनुमति देता है (उदाहरण: एक्सएमएल स्वीकार करें, जेसन स्वीकार करें)। इस मामले में वेबएपीआई नियंत्रक आपका सबसे अच्छा विकल्प – Sentinel