मैंने अभी वीएस 2012 आरसी का उपयोग करना शुरू कर दिया है, और मैं एक एएसपी.नेट एमवीसी 4 वेब एप्लिकेशन बना रहा हूं जिसमें मैं एक HTML- आधारित यूजर इंटरफेस और एक वेबएपी-आधारित प्रोग्रामिंग इंटरफ़ेस प्रदान करने की योजना बना रहा हूं।क्या मेरे पास एक ही चीज के लिए नियंत्रक और एपीकंट्रोलर दोनों हो सकते हैं?
मेरी HTML वेबसाइट के लिए, मैं इतना है कि, उदाहरण के लिए, मेरे ClientController
के लिए URL /client
हुक अपने मॉडल "सम्मेलन" (MVC!), और रूटिंग काम करता है से प्रत्येक के लिए एक नियंत्रक और दृष्टिकोण है। मेरा ClientController
Controller
से निकला है।
मेरे एपीआई के लिए, मैं ApiController
से प्राप्त नए नियंत्रक बनाएगा। मैं स्वाभाविक रूप से चाहता हूं कि मेरे एपीआई यूआरएल मेरे एचटीएमएल यूआरएल के समान हों, इसलिए मैं ग्राहक जानकारी /api/client
पर उपलब्ध होना चाहता हूं। हालांकि, उप-सम्मेलन रूटिंग के साथ, यह सुझाव देगा कि मुझे ClientController
नामक एपीकंट्रोलर की आवश्यकता है। और मेरे पास पहले से ClientController
कक्षा है।
मैं इससे कैसे निपटूं? क्या मुझे कस्टम रूटिंग की आवश्यकता है? क्या मैं एपीआई कक्षाओं को अलग-अलग नामस्थान में डालता हूं ताकि मैं उन्हें वही नाम दे सकूं?
अद्यतन: इस सवाल का सुझाव देने के लिए मेरी एपीआई नियंत्रकों के लिए एक अलग नाम स्थान में है कि लगता है मैं की जरूरत है: Mix web api controllers and site controllers
क्या आपने [एमवीसी क्षेत्र] (http://msdn.microsoft.com/en-us/library/ee671793.aspx) देखा है? – gordonmleigh
@gordonml: धन्यवाद - मैंने अभी किया, और ऐसा लगता है कि यह बहुत उपयोगी है। हालांकि मैं यह महसूस करने में मदद नहीं कर सकता कि मुझे जो हासिल करने की आवश्यकता है उसके लिए यह थोड़ा अधिक है। –
IsAjaxRequest आपकी आवश्यकताओं के लिए काम करता है? http://stackoverflow.com/questions/1681563/detecting-isajaxrequest-with-asp-net-mvc-and-jquery-form-plugin-file-upload – kenny