2011-10-16 6 views
0

새로운 Asp.Net MVC 앱을 개발하기 시작했습니다. 요구 사항 중 하나는 웹 서비스를 사용하여 API를 노출하는 것입니다. 우리는 WCF를 사용하여 이것을 수행 할 것입니다. (우리는 제 3자가이 서비스를 사용할 아이폰 앱을 만들고있다.)Asp.Net MVC 및 WCF - 인스턴스 메서드를 직접 호출하는 것이 좋습니다.

WPF API를 사용하는 Asp.Net MVC 애플리케이션을 작성 중이다.

내 MVC 응용 프로그램이 WCF 응용 프로그램이있는 IIS의 동일한 인스턴스에 설치되고 또한 서비스 메서드를 직접 호출 할 수있는 동일한 Visual Studio 프로젝트의 일부이기 때문에 - 웹 서비스를 통해 호출하는 대신.

내 컨트롤러 클래스의 예를 들어 그냥 할 수

WcfService.SomeClass someServiceClass = new WfcService.SomeClass(); 
var stuff = someServiceClass.GetSomeStuff() 

같은이 가능합니까? 그렇다면 그것은 현명합니까?

답변

1

이것이 가능합니까?

예. WCF 서비스 계약 및 구현이 포함 된 어셈블리를 ASP.NET MVC 응용 프로그램으로 가져 와서 직접 호출 할 수 있습니다.

그렇다면 현명합니까?

예, 전체 직렬화/직렬화 해제 및 네트워크 호출 프로세스를 단락하므로 성능이 향상됩니다.

따라서 두 ASP.NET이 동일한 ASP.NET 응용 프로그램 내에서 호스팅되는 경우이를 수행 할 수 있습니다.

+0

응답 주셔서 감사합니다. 아마 내가이 길로 갈 것이라고 생각해. – bplus

1
Is this possible?

확실히. 대린이 이것에 대해 옳습니다.

Is It wise?

다릅니다. WCF 서비스는 여러 가지 방법으로 구현 될 수 있습니다. 예를 들어, WCF 가능 호스팅 환경에서 서비스가 호스팅되고 제대로 호출 될 때만 작동하는 "호출 당"과 같은 동시성 및 인스턴스 관리를 구현할 수 있습니다. 당신이 당신이 아주 좋은 포기하는이 방법

WcfService.SomeClass someServiceClass = new WfcService.SomeClass(); 
var stuff = someServiceClass.GetSomeStuff() 

을 사용하기 시작하면 WCF는 확장 성 및 성능을 향상시키기 위해 당신을 제공하고 있습니다. "직렬화 - 직렬화 해제 (serialization-deserialization)"오버 헤드가 가치가 있다면 생각해보십시오. 그것은 아주 잘 될 수 있습니다!

관련 문제