संभव डुप्लिकेट:
How do I register a controller that has been created in an AREAनियंत्रकों क्षेत्रों
मैं सवाल है - यह आगे क्या करना संभव है?
मैं तीन क्षेत्रों है:
_Default
SiteOne
SiteTwo
प्रत्येक क्षेत्र मैं एक ही नाम के साथ एक ApiController है अंदर, लेकिन निश्चित रूप से अलग नामस्थान में:
MvcAppliaction.Areas._Default.Controllers.ValuesController
MvcAppliaction.Areas.SiteOne.Controllers.ValuesController
MvcAppliaction.Areas.SiteTwo.Controllers.ValuesController
मैं भी (वर्तमान का मान होना जो मैं उपयोग करना चाहता हूं) विन्यास में क्षेत्र। ,
/api/values
उदाहरण के लिए यदि कॉन्फ़िग फ़ाइल में वर्तमान क्षेत्र SiteOne है:
मैं उपयोगकर्ता को मैप करने के लिए उचित क्षेत्र (जो मैं विन्यास में पा सकते हैं) में नियंत्रक करने के लिए चाहते हैं कि क्या वह ब्राउज़र में प्रवेश करती है तो यह अनुरोध MvcAppliaction.Areas.SiteOne.Controllers.ValuesController नियंत्रक के लिए मैप किया जाना चाहिए, लेकिन अगर मैं कॉन्फ़िगरेशन फ़ाइल में वर्तमान क्षेत्र को _Default के SiteTwo में बदलता हूं तो इसे नियंत्रक को सही करने के लिए मैप किया जाना चाहिए।
पीएस। MVC नियंत्रक यह आसान है साथ, आप बस अपना मार्ग निर्धारित करने के लिए है:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "MvcApplication.Web.Areas." + SiteName + ".Controllers") }
);
धन्यवाद के साथ एक संघर्ष है। मैंने सोचा कि एक और तरीका है। तो, मैं HTTP नियंत्रक कारखाना लागू करेंगे। – Malkov
मदद की कोई समस्या नहीं है – dmportella