WCF 클라이언트가 동일한 계약에 대해 여러 엔드 포인트를 지정하면 어떻게됩니까?

StackOverflow https://stackoverflow.com/questions/1888233

문제

그것은 그들 모두에게서 소비 할 것인가? 예외가 발생합니까?

도움이 되었습니까?

해결책

Clieint 구성에서 동일한 계약과 다른 주소에 대해 여러 개의 엔드 포인트를 가질 수 있습니다.

그들은 독특한 것으로 분리되어야합니다 name= 속성 <endpoint> 꼬리표.

<client>
  <endpoint name="tcpEndpoint"
            address="net.tcp://server:8888/SomeService"
            binding="netTcpBinding"
            contract="IYourService" />
  <endpoint name="httpEndpoint"
            address="http://server:8777/SomeService"
            binding="basicHttpBinding"
            contract="IYourService" />
</client>

클라이언트 프록시를 만들 때 사용하려는 엔드 포인트의 이름을 제공해야합니다.

YourClient client = new YourClient("netTcpEndpoint");

더 이상 고객을 인스턴스화 할 수 없으며 "최종점"을 찾을 것으로 기대할 수 없습니다. 여러 가지가 있기 때문에 (그리고 불행히도 아무것도 지정되지 않은 경우 사용되는 "기본값"으로 정의 할 수있는 방법이 없기 때문입니다).

그 외에는 아무런 문제가 없어야한다고 생각합니다.

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