它会从它们全部消耗吗?
它会抛出异常吗?
你可以为同一个契约拥有多个端点,并在客户端配置中使用不同的地址,没有问题。
它们需要在<endpoint>
标记上通过唯一的name=
属性进行区分。
<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");
由于存在多个终端点,因此您不能仅仅实例化您的客户端并期望它找到“主要”的终端点来使用,不幸的是没有办法定义一个作为“默认”的终端点,如果没有指定,则会使用该终端点。
除此之外,我想不应该出现问题。