2

我遇到了以下代码

<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 客户端或服务都必须指定合同吗?
4

2 回答 2

2

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

CodeProject上的这个例子

于 2013-10-23T05:34:56.827 回答
0

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

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

于 2013-10-22T20:42:16.200 回答