Contract =“*”是什么意思?

时间:2013-10-22 20:33:33

标签: c# wcf app-config

我遇到了following code

<client>
   <!--set up the destination endpoints-->
   <endpoint name="CalcEndpoint1"
          address="net.tcp://localhost:9090/servicemodelsamples/service/"
          binding="netTcpBinding"
          contract="*" />

   <endpoint name="CalcEndpoint2"
          address="net.tcp://localhost:8080/servicemodelsamples/service/"
          binding="netTcpBinding"
          contract="*" />
</client>
  1. contract="*"是什么意思?
  2. 每个WCF客户端或服务都不必指定合同吗?

2 个答案:

答案 0 :(得分:2)

它用于服务中的路由。星号表示匹配任何合同。 我在VPN上使用它作为网关来获取防火墙后面的特定服务。我将请求发送到路由器服务,路由器服务检查合同,并将其路由到防火墙后面的实际服务。

CodeProject

这样的例子

答案 1 :(得分:0)

WCF服务应该至少定义一个合同。

合同字符串(在端点级别)表示端点的合同。 如果您的服务实现仅实现单个合同,则可以将其设置为空字符串并使用默认合同。