문제

WCF 서비스는 몇 개의 ServiceContract를 가질 수 있습니까?

특히 ServiceContract는 인터페이스의 특성이므로 하나의 WCF 웹 서비스에 몇 개의 인터페이스를 코딩 할 수 있습니까?일대일인가요?

여러 웹 서비스에서 계약을 분리하는 것이 합리적입니까?

도움이 되었습니까?

해결책

서비스가 원하는 모든 서비스 계약을 구현하도록 할 수 있습니다.한계가 있는지 모르겠지만 한계가 있다고 생각하지 않습니다.

개념적으로 다른 여러 서비스 계약 인터페이스에서 동일한 서비스로 구현 될 작업을 분리하는 깔끔한 방법입니다.

다른 팁

WCF 서비스에는 여러 엔드 포인트가있을 수 있으며, 각 엔드 포인트는 서로 다른 서비스 계약을 구현할 수 있습니다.

예를 들어 다음과 같이 선언 된 서비스를 가질 수 있습니다. 라코 디스

다음 라인을 따라 구성 할 수있는 항목 : 라코 디스

도움이 되길 바라지 만, 서비스에 대해 가질 수있는 이론적 인 최대 인터페이스를 초과했다면 2의 배수가 엄청나게 큰 것 같습니다.

@jdiaz

물론 다른 서비스에서 매우 다른 비즈니스 문제를 갖도록 노력해야하지만, 예를 들어 모든 서비스에서 GetVersion () 작업을 구현하는 것과 같이 원하는 경우를 고려하십시오.모든 서비스 계약에 GetVersion () 작업을 추가하는 대신 해당 작업에 대한 서비스 계약을 갖고 모든 서비스가이를 구현하도록 할 수 있습니다.

서비스는 이론적으로 임의의 수의 엔드 포인트를 가질 수 있으며 각 엔드 포인트는 특정 계약 또는 인터페이스에 바인딩되어 있으므로 단일 개념 (및 구성된) 서비스가 여러 엔드 포인트를 통해 여러 인터페이스를 호스팅 할 수 있습니다.동일한 인터페이스를 호스팅하는 엔드 포인트

서비스를 호스팅하기 위해 ServiceHost 클래스를 사용하는 경우 IIS 대신 ServiceHost 당 하나의 인터페이스 만 연결할 수 있습니다.왜 그런지 모르겠지만 사실입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top