6
它会消耗所有人吗? 它会抛出异常吗?当WCF客户端为同一个合同指定多个端点时会发生什么?
它会消耗所有人吗? 它会抛出异常吗?当WCF客户端为同一个合同指定多个端点时会发生什么?
你可以在同一个契约和不同地址的clieint配置中有多个端点,没问题。
它们需要用<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");
可以不再仅仅实例化你的客户,并期望它寻找” “端点使用,因为有多个(不幸的是,如果没有指定,就没有办法将其定义为”默认“)。
除此之外 - 我认为不会出现任何问题。
ya。与ex:basicHttpbinding + wsHttpBinding + netTcpBinding同时连接是没有意义的。 – vidalsasoon 2009-12-11 14:04:02
@vidal:不是真的,没有:-)但是你**可以**有一个客户端通过netTcp,另一个客户端实例通过http - 如果你需要(不知道为什么需要这样做 - 但你**可以** ;-) – 2009-12-11 14:05:40
如果您有一个java web客户端和一个.Net胖客户端,可以用作一个真实的例子。 java客户端使用http和.Net客户端使用net.tcp – softveda 2009-12-11 14:29:49