.net - 当 WCF 客户端为同一合约指定多个端点时会发生什么?

标签 .net wcf wcf-client endpoints

它会消耗掉所有的东西吗? 会抛出异常吗?

最佳答案

您可以在客户端配置中为同一合约和不同地址拥有多个端点,没有问题。

它们需要用唯一的 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");

您不能再只是实例化您的客户端并期望它找到要使用的“该”端点,因为有多个端点(不幸的是,无法将一个端点定义为“默认”端点,如果未指定任何端点,则会使用该端点) .

除此之外 - 我认为应该不会出现任何问题。

关于.net - 当 WCF 客户端为同一合约指定多个端点时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1888233/

相关文章:

.net - 使用 ServiceHost 在单元测试中托管 WCF 服务

c# - DataContractJsonSerializerOperationFormatter 不反序列化使用 JSON.NET

wcf - RPC 与服务总线风格 SPA

c# - WCF OperationContract 属性忘记值

c# - 如何以编程方式将客户端连接到 WCF 服务?

c# - 序列化类型对象的属性

.net - IronRuby ScriptSource.Execute 线程安全吗?

c# - System.InvalidOperationException : 'Unable to resolve service for type ' Microsoft. Extensions.Logging.ILogger`1

c# - 为什么我的 soap header 中的证书有签名

c# - 如何将按键发送到正在运行的进程对象?