2016-12-25 11 views
5

मुझे पता है कि Asp.Net MVC और Asp.Net Web APIAsp.net Core में एक कोड में मिला दिया गया है और वे और Controller आधार वर्ग से विरासत IActionResult के सभी वापसी कार्यान्वयन कर सकते हैं। यह वेब एपीआई के लिए एमवीसी या जेसन के लिए एक दृश्य है।वेब अनुप्रयोग बनाम वेब एपीआई परियोजना प्रकार

लेकिन जब मैं Asp.net Core प्रोजेक्ट बनाना चाहता हूं, तो यह दो टेम्पलेट्स (Web Application and Web Api) प्रदान करता है, जैसा कि मैंने ऊपर बताया है, इन नियंत्रकों के बीच कोई अंतर नहीं है, दो टेम्पलेट क्यों हैं? क्या कोई अंतर है जिसे मैं इसके बारे में नहीं जानता?

उत्तर

6

वेब एप्लिकेशन टेम्पलेट फ़ोल्डर्स और वेब एप्लिकेशन जैसे jQuery, सीएसएस इत्यादि के लिए आवश्यक सामान आयात करेगा। वेब एपीआई टेम्पलेट फ़ोल्डर्स और वेब एपीआई के लिए सामान आयात करेगा। इसके अलावा डिफ़ॉल्ट रूप से बनाए गए नियंत्रकों के पास अलग-अलग कार्यान्वयन होंगे, उदाहरण के लिए, वेब एप्लिकेशन दृश्यों को वापस कर देगा और विचार उचित फ़ोल्डर में बनाए जाएंगे।

तो हालांकि वे एक ही नियंत्रक से प्राप्त होते हैं, प्रत्येक प्रकार के प्रोजेक्ट के लिए विभिन्न निर्भरताओं की आवश्यकता होती है।

यदि मैं आप थे तो मैं आगे बढ़ूंगा और प्रत्येक प्रकार के लिए एक बनाउंगा और अंतर देखूंगा।

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

+0

मैं एक परियोजना बनाना चाहता हूं जिसमें दो एपीआई और नियंत्रक हों, यह बेहतर है कि मैं उन्हें एक-दूसरे से अलग कर दूं और उन्हें विभिन्न परियोजनाओं में या उसी प्रोजेक्ट में बना सकूं (नियंत्रक फ़ोल्डर में मेरे पास एमवीसी दोनों एपीआई नियंत्रक हैं)? – pejman

+0

मेरा संपादन देखें कृपया – CodingYoshi

+0

क्या कोई खाली समाधान बनाने के लिए कोई लाभ (या हानिकारक) है और फिर केवल एएसपीनेट कोर वेब ऐप प्रोजेक्ट और एएसपीनेट कोर वेब एपीआई प्रोजेक्ट बनाकर एपीआई के लिए एक अलग फ़ोल्डर या क्षेत्र बनाम है वेब अनुप्रयोग परियोजना के भीतर परियोजना? – Reza

3

अंतर 2 के बीच टेम्पलेट्स है-

वेबएपीआई टेम्पलेट है कि आप/एपीआई पर RESTful अनुरोध का जवाब करने की अनुमति देगा एक नियंत्रक वर्ग के साथ शुरू होता है/मान endpoint।

वेब अनुप्रयोग टेम्पलेट आपको कुछ रेज़र विचारों, बूटस्ट्रैप सीएसएस ढांचे और jQuery लाइब्रेरी के साथ एक एमवीसी फ्रेमवर्क सक्षम प्रोजेक्ट प्रदान करेगा।

यदि आप दोनों एमवीसी और एपीआई नियंत्रकों के साथ प्रोजेक्ट बनाना चाहते हैं तो मैं एएसपी.नेट कोर वेब एप्लिकेशन टेम्पलेट के साथ जाने और निर्भरता की आवश्यकता जोड़ने के लिए सुझाव दूंगा।

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