2 개의 프로젝트에 대한 해결책이 있습니다. 하나는 ASP.NET Web API 프로젝트이고 다른 하나는 ASP.NET MVC 프로젝트입니다. 웹 API는 다양한 클라이언트에서 사용됩니다. 두 프로젝트가 하나라면 다음과 같이 내 API에 대한 링크를 생성 할 수 있습니다.
@Url.RouteUrl("ActionApi", new { httpRoute = string.Empty, controller = "User", action = "AddChildAsync" });
그러나 이제이 두 프로젝트가 분리되었으므로 mvc 응용 프로그램이 웹 API에 대한 구성을 찾을 수 없기 때문에 이것을 할 수 없습니다 (mvc 앱에서 웹 API에 대한 프로젝트 참조가 있지만). 그렇다면 웹 API 구성에 액세스하고 동적으로 링크를 생성하는 우아한 방법이 있습니까? 미리 감사드립니다.
httproute = true를 변경하여 액세스 할 수 있어야합니다.
@Url.RouteUrl("ActionApi", new { httpRoute = true, controller = "User", action = "AddChildAsync" });
또는이를 수행하여 webapi 경로를 지정할 수 있습니다.
@Url.HttpRouteUrl("ActionApi", new { controller = "User", action = "AddChildAsync" });
그러나 Global.asax에서 WebApi 등록을 수행하고 NuGet WebApi 패키지를 설치해야합니다.
또한 일반적으로 링크에서 위에서 언급 한대로 작업은 경로에 포함되지 않습니다. 일반적으로 이름이 지정되지 않고 요청에 의해 제공됩니다 (GET, POST PUT 등). 경로 구성이 다음과 같지 않으면 생략됩니다.
routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional } );
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다