WCF 클라이언트가 동일한 계약에 대해 여러 엔드 포인트를 지정하면 어떻게됩니까?
-
19-09-2019 - |
문제
그것은 그들 모두에게서 소비 할 것인가? 예외가 발생합니까?
해결책
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");
더 이상 고객을 인스턴스화 할 수 없으며 "최종점"을 찾을 것으로 기대할 수 없습니다. 여러 가지가 있기 때문에 (그리고 불행히도 아무것도 지정되지 않은 경우 사용되는 "기본값"으로 정의 할 수있는 방법이 없기 때문입니다).
그 외에는 아무런 문제가 없어야한다고 생각합니다.
제휴하지 않습니다 StackOverflow