여러 ASP.NET 웹 응용 프로그램이있는 VS2013에 솔루션이 있습니다. 동일한 솔루션에 ASP.NET WebAPI 프로젝트를 추가했습니다.
IIS에서 WebAPI를 자식 응용 프로그램으로 배포 한 후 다음 오류가 발생했습니다.
'계정'이라는 컨트롤러와 일치하는 여러 유형이 발견되었습니다. 이 요청을 서비스하는 경로 ( 'Account / Register')가 요청과 일치하는 컨트롤러를 검색하기위한 네임 스페이스를 지정하지 않은 경우에 발생할 수 있습니다. 이 경우 'namespaces'매개 변수를 사용하는 'MapRoute'메소드의 오버로드를 호출하여이 경로를 등록하십시오.
'계정'에 대한 요청에서 다음과 일치하는 컨트롤러를 찾았습니다.
Proj1.Controllers.AccountController
Proj2.Controllers.AccountController
다음 RouteConfig.cs
과 같이 기본 네임 스페이스를 추가해 보았습니다 .
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "Proj1.WebAPI.Controllers" }
);
하지만 여전히 같은 오류가 발생합니다.
어떤 아이디어?
WebApiConfig.cs에 이것을 추가하기 만하면됩니다.
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "webapi/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
**config.Routes.MapHttpRoute(
name: "Admin",
routeTemplate: "{controller}/{id}",
defaults: new { id = RouteParameter.Optional }**
);
}
이제 완벽하게 작동합니다!
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다