Eventuali duplicati:
How do I register a controller that has been created in an AREAController divisi per aree
ho la domanda - è possibile fare la prossima?
ho tre Aree:
_Default
SiteOne
SiteTwo
All'interno di ciascuna zona ho un ApiController con lo stesso nome, ma in diversi spazi dei nomi, naturalmente:
MvcAppliaction.Areas._Default.Controllers.ValuesController
MvcAppliaction.Areas.SiteOne.Controllers.ValuesController
MvcAppliaction.Areas.SiteTwo.Controllers.ValuesController
Ho anche avere un valore di corrente (che vorrei usare) Area in configurazione.
vorrei mappare all'utente di controller nella zona corretta (che posso trovare nella configurazione) se entra nel browser:
/api/values
Per esempio, se Area corrente nel file di configurazione è SiteOne quindi questa richiesta dovrebbe essere mappata al controller MvcAppliaction.Areas.SiteOne.Controllers.ValuesController, ma se cambio l'area corrente nel file di configurazione su SiteTwo di _Default dovrebbe essere mappato per correggere il controller.
PS. Con il regolatore MVC è facile, basta impostare il percorso:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "MvcApplication.Web.Areas." + SiteName + ".Controllers") }
);
Grazie. Pensavo che ci fosse un altro modo. Quindi implementerò il factory dei controller HTTP. – Malkov
Nessun problema felice di essere di aiuto – dmportella