2017-05-16 1 views
-1
아래

내 끝에서 정의 된 컨트롤러입니다 :오류 동안

public static void Register(HttpConfiguration config) 
     { 


      config.Routes.MapHttpRoute(
       name: "FrontApi", 
       routeTemplate: "api/front/{controller}/{action}/{id}", 
       defaults: new { id = RouteParameter.Optional } 
      ); 

      config.Routes.MapHttpRoute(
       name: "AdminApi", 
       routeTemplate: "api/admin/{controller}/{action}/{id}", 
       defaults: new { id = RouteParameter.Optional } 
      ); 

     } 

위의 컨트롤러 및 라우팅에 대해 다음 오류가 발생했습니다.

Multiple types were found that match the controller named 'userAuthentication'. 
This can happen if the route that services this request 
('api/admin/{controller}/{action}/{id}') found multiple controllers 
defined with the same name but differing namespaces, which is not supported. 

귀하의 의견을 알려주십시오.

namespace Demo.Web.Controllers.Api.Admin 
{ 
    [Route("api/admin")] 
    public class UserAuthenticationController : ApiController 
    { 

     [HttpPost,Route("login")] 
     public IHttpActionResult PostAdminLogin([FromBody]AdminLoginModel adminLoginModel) 
     {    
      return Ok(true); 
     } 
    } 
} 

그리고

namespace Demo.Web.Controllers.Api.Front 
{ 
    [Route("api/front")] 
    public class UserAuthenticationController : ApiController 
    { 
     [HttpPost] 
     [Route("login")] 
     public void Post([FromBody]FrontLoginModel frontLoginModel) 
     { 

     } 
    } 
} 

변경하여 무효 :

답변

0

네임 스페이스 Demo.Web.Controllers.Api.Front에 컨트롤러와 다음과 같이 귀하의 등록 방법을 변경

네임 스페이스 Demo.Web.Controllers.Api.Admin에 컨트롤러에 [Route("api/admin")]을 추가하고 [Route("api/front")] 업데이트 다음 (HttpConfiguration 구성) 등록 :

+0

컨트롤러로 유지하기위한 정확한 장소를 알려주시겠습니까? –

+0

@KunalKakkad 대답 업데이트 –

+0

아직 작동하지 않습니다. –