가능한 중복 :
How do I register a controller that has been created in an AREA컨트롤러 영역
나는 질문이 있습니다 - 그것은 다음을 수행 할 수 있습니까?
나는 세 가지 영역이 있습니다 내가 같은 이름의 ApiController이 각 영역 내부
_Default
SiteOne
SiteTwo
,하지만 물론 다른 네임 스페이스 :
MvcAppliaction.Areas._Default.Controllers.ValuesController
MvcAppliaction.Areas.SiteOne.Controllers.ValuesController
MvcAppliaction.Areas.SiteTwo.Controllers.ValuesController
는 또한 현재의 값을 (이 내가 사용하고 싶습니다) 구성의 영역. 예를 들어
/api/values
config 파일에서 현재 지역이 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