2017-11-14 1 views
0

저는 뷰 로직과 비즈니스 로직을 분리하기 위해 컨트롤러에 Unity를 사용하여 주입하는 서비스 레이어가있는 .NET MVC 애플리케이션이 있습니다. 다른 애플리케이션이 REST API로 서비스 레이어를 사용할 수 있도록 REST 엔드 포인트와 동일한 서비스 레이어 메소드를 노출하는 방법이 있습니까? 그렇다면 모 놀리 식 애플리케이션에서 서비스 레이어를 계속 사용 하시겠습니까?.NET MVC 서비스 레이어를 REST 엔드 포인트로 노출

이 작업을 수행하는 사람의 예가 있습니까?

+6

[ASP.NET 웹 API] (https://docs.microsoft.com/en-us/aspnet/web-api/overview/getting-started-with-aspnet-web-api/)를 사용하는 것이 좋습니다. tutorial-your-first-web-api)를 사용하여 REST API를 만듭니다. .NET MVC 응용 프로그램과 동일한 서비스 계층을 사용할 수 있습니다. – burnttoast11

답변

1

그런 경우 ASP.Net Web API를 사용하여 분리 된 프로젝트를 만들 수 있습니다.

Web Api를 사용하면 컨트롤러에 서비스를 주입하고 MVC 애플리케이션뿐만 아니라 다른 애플리케이션 (모바일 등)에서도 Rest Services를 호출 할 수 있어야합니다.

또한 EF를 사용하는 경우 리포지토리에 대한 별도의 프로젝트 (계층)를 만들고 리포지토리에 EF Context을 삽입하면 서비스 계층 및 서비스에 대한 리포지토리가 컨트롤러에 저장 될 수 있습니다.

내 개인 프로젝트에서 내 WEB API 프로젝트에서만 서비스 계층을 호출하고 내 MVC 응용 프로그램에서는 서비스 계층을 호출하지 않습니다. MVC는 REST 서비스를 통해서만 서비스 계층을 사용합니다.

+0

이것은 정말로 내가 지향하고 싶은 아키텍처이지만, 사람들이 MVC를 그런 방식으로 구현 한 예제를 찾을 수 없습니다. 처음에 그 유형의 구현을 보았던 참조가 있습니까? 내 손가락으로 인터넷 검색을 해왔지만 .NET의 동일한 문제에 접근 할 수있는 다양한 방법이 있습니다. –

+0

복수형에서 많은 예제를 찾을 수 있습니다 : https://app.pluralsight.com/library/ There 's There 's 많은 과목들. 저자의 GitHub 저장소를 살펴보고, 대부분 GitHub에 그의 샘플 코드가 있습니다. –

관련 문제