मैंने देखा कि एमवीसी 2 पूर्वावलोकन 2 में, क्षेत्रीय पंजीकरण प्रत्येक क्षेत्र के लिए मनमाने ढंग से क्रम में मार्ग लोड कर रहा है। क्या एक दूसरे से पहले पाने का कोई अच्छा तरीका है?एमवीसी 2 क्षेत्र पंजीकरण पंजीकरण आदेश
उदाहरण के लिए, मेरे पास दो क्षेत्र हैं - "साइट" और "व्यवस्थापक"। दोनों में "ब्लॉग" नियंत्रक है।
मैं निम्नलिखित चाहते हैं:
/admin/ --> go to Admin's Blog controller
/ --> go to Site's Blog controller.
समस्या यह है कि साइट के मार्ग पहले लोड कर रहा है है, इसलिए यह admin/{controller}/{action}/{id}
के बजाय {controller}/{action}/{id}
मिलान किया जाता है जब मैं यूआरएल "/ व्यवस्थापक /" पर जाएं। मुझे फिर 404 मिलते हैं, क्योंकि "साइट" क्षेत्र में कोई व्यवस्थापक नियंत्रक नहीं है।
दोनों क्षेत्रों "ब्लॉग" नियंत्रक के लिए डिफ़ॉल्ट हैं। मुझे एहसास है कि मैं यूआरएल के रूप में site/{controller}/...
डाल सकता हूं, लेकिन यदि संभव हो तो मैं इसे रूट पर रखूंगा। मैंने वैश्विक रजिस्टर रूट फ़ंक्शन में डिफ़ॉल्ट मार्ग रखने का भी प्रयास किया, हालांकि, इसे "साइट्स" क्षेत्र में नहीं भेजा गया है।
अग्रिम धन्यवाद!
अरे फिल, स्पष्टीकरण के लिए धन्यवाद। मैंने अपनी "साइट" को क्षेत्र से बाहर ले जाना समाप्त कर दिया और अब यह "डिफ़ॉल्ट/गैर-क्षेत्र" अनुभाग (दृश्यों और नियंत्रकों के साथ रूट में) है। मैं फिर "अस्पष्ट नियंत्रक" त्रुटि से बचने के लिए अपने नेमस्पेस पैरामीटर को डिफ़ॉल्ट नियंत्रकों पर सेट करता हूं। इसके अलावा, मैं शायद साइट क्षेत्र के मार्गों में व्यवस्थापक को अनदेखा करने के लिए^((?! admin)। *) जैसी बाधाओं को सेट कर सकता था। मैं सहमत हूं, और अधिक जटिलता जोड़ना बहुत अच्छा नहीं है, हालांकि ऐसा लगता है कि एमवीसी 1 (गैर क्षेत्र) मार्ग संभावित रूप से क्रमशः भारी निर्भर हो सकते हैं। धन्यवाद! – Jason
रूटिंग प्रक्रिया आम तौर पर नियमों के आदेश पर निर्भर करती है, इसलिए 'ऑर्डरिंग' सुविधा महत्वपूर्ण हो सकती है। – twk
कृपया दो तकनीकों के लिए मेरी प्रतिक्रिया देखें जो आपको किसी भी क्रम में क्षेत्र पंजीकरण (और इस प्रकार उनके मार्ग) का ऑर्डर करने की अनुमति देती हैं। – Eilon