Ich versuche, mein MVC-Projekt in mehrere Bereiche zu trennen. Also ich habe 3 Bereiche 1) crm 2) Dienstleistungen 3) Web. Ich möchte, dass PublicWeb mein Standard ist. das heißt, es sollte zugegriffen werden wie www.mysitename.com/mycontroller/myaction (kein Bereich Name dazwischen) und andere zwei mit dem Gebietsnamen zugegriffen werden (www.mysitename.com/crm/mycontroller/myaction). Welche Routing/Area Konfiguration sollte ich haben? Ich habe versucht AreaRegistration.RegisterAllAreas();
und es funktioniert nur für meine Standard (Web). Wenn ich auf die anderen 2 zugreife, hat das einen 404-Fehler ausgelöst.ASP.NET MVC Bereiche Routing funktioniert nicht mit Standardroute
Ich versuchte indidually wie die unter einem
var area2reg = new crmAreaRegistration();
var area2context = new AreaRegistrationContext(area2reg.AreaName, RouteTable.Routes);
area2reg.RegisterArea(area2context);
var area1reg = new webAreaRegistration();
var area1context = new AreaRegistrationContext(area1reg.AreaName, RouteTable.Routes);
area1reg.RegisterArea(area1context);
Dann meine publicweb Werke zu registrieren. Aber wenn ich auf mein Forum zugreife, warf es diesen Fehler,
Mehrere Typen wurden gefunden, die den Steuerpult genannt "nach Hause" zusammenbringen. Dies kann passieren, wenn die Route, die diese Anfrage bedient ('crm/{controller}/{aktion}/{id}') keine Namespaces angibt, um nach einem Controller zu suchen, der der Anfrage entspricht. Wenn dies der Fall ist, registrieren Sie diese Route, indem Sie eine Überladung der MapRoute-Methode aufrufen, die einen Namespaces-Parameter verwendet.
Meine RegisterArea Funktion für web
ist diese
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"web_default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
und derjenige für crm
wird diese
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"crm_default",
"crm/{controller}/{action}/{id}",
new { controller = "home", action = "Index", id = UrlParameter.Optional }
);
}
}
Wie kann ich damit umgehen?
ja, ich habe viel versucht, Standard-Routing und Bereich zusammen zu verwenden .so sollte dies die richtige Lösung sein. –