2013-04-22 2 views
0

여러 개의 끝점이있는 WCF 서비스가 하나 있습니다. 각 엔드 포인트에는 자체 구성이 있습니다. 내 문제는 내가 무엇이 최선인지 알아 내려고하고 있다는 것입니다.여러 WCF 서비스를 클래스 라이브러리로 캡슐화

- 1 엔드 포인트의 각 내 MVC 응용 프로그램에 서비스 참조를 추가

2 - 엔드 포인트 각각에 대한 참조를 가지고 다음이 만 내 MVC 응용 프로그램에서 참조를 추가하는 새로운 DLL 만들기 DLL.

각각의 접근 방식에 단점이 있다면 실제로 도움이 될 것입니다.


  • UPDATE 은 내가 여러 MVC 응용 프로그램을 언급하는 것을 잊었다하고 각각은 하나 또는 WCF 서비스의 두 가지 사용합니다. 이 더 정확하려면 6 개의 MVC 응용 프로그램과 7 개의 WCF 서비스가 있습니다. 각 MVC 응용 프로그램은 2 WCF 만 사용합니다. 앞으로 MVC 응용 프로그램과 WCF의 수가 증가 할 것입니다.

답변

0

나는 서버 참조를 사용하지 않지만 동시에 세 가지 모두에 svcutil을 지정합니다. 그것은 하나의 프록시 집합과 하나의 구성을 생성합니다. 또한 서비스간에 데이터 계약을 공유 할 수 있습니다.

0

개인적으로 필자는 항상 웹 참조와 서비스 참조를 SharedServices라는 독립 실행 형 어셈블리에 넣었습니다. 그런 식으로; 여러 어셈블리가 동일한 참조를 공유 할 수 있으며 데이터 형식을 어셈블리간에 공유 할 수 있습니다. 어셈블리에 웹 참조를 첨부하면 웹 서비스 정의 용으로 만 많은 프로젝트가 해당 어셈블리에 종속 될 수 있습니다.

0

서비스에 액세스하는 서비스 에이전트를 작성하여 MVC 응용 프로그램에 대한이 논리를 추상화 할 수 있습니다. 서비스 에이전트는 캐싱과 같은 다른 로직을 구현할 장소이기도합니다. 일부 데모 코드는 아래의 http://tinyurl.com/cbcepgl 아래 '서비스 에이전트'를 참조하십시오.

+0

자세한 내용을 제공하는 추가 정보로 내 질문을 업데이트했습니다. WCF 서비스가 공개 메서드 시그니처 만 이미 공개하므로 메서드의 다른 추상을 제공 할 필요가 없으므로 솔루션이 WCF가 아닌 서비스에 적합하다고 생각합니다. – GustavLatte

+0

WCF 서비스 당 하나의 서비스 에이전트를 가질 수 있습니다. 또는 모든 WCF 서비스에 대해 하나의 서비스 에이전트; 그것은 당신이해야만하는 선택입니다. –

관련 문제