关于wcf中的tcp端点

时间:2012-12-28 12:29:23

标签: wcf

现在看到tcp端点

<endpoint address="tcp"
                      binding="netTcpBinding"
                      bindingConfiguration="tcpBinding"
                      contract="ChatService.IChat"/>

tcp端点地址没有url而不是tcp这个字已被分配给地址属性...为什么?

给我一​​个示例网址,该网址可以是有效的tcp网址。

tcp端点的地址字段将始终具有名为“tcp”的固定字,是规则还是约定。

这里是完整的绑定样本

<service name="WCFService.Service" behaviorConfiguration="behaviorConfig">

<host>
  <baseAddresses>
    <add baseAddress="net.tcp://localhost:1645/ChatServer/"/>
    <add baseAddress="http://localhost:1648/ChatServer/"/>
  </baseAddresses>
  </host>
  <endpoint address="tcp"
                  binding="netTcpBinding"
                  bindingConfiguration="tcpBinding"
                  contract="ChatService.IChat"/>

 <endpoint address="net.tcp://localhost:1645/ChatServer/mex"
                  binding="mexTcpBinding"
                  contract="IMetadataExchange"/>

 </service>

1 个答案:

答案 0 :(得分:0)

如果没有完整的配置文件,我无法告诉你确切的事情,但我的猜测是:

予。的地址= “TCP”

一个。主机基地址有一个设置,因此完整地址将是基地址+ tcp。例如,以下服务具有基址

 ...
      <host>
         <baseAddresses>
         <add baseAddress="net.tcp://MyServerIPAddress:9000/MyService.svc" />
       </baseAddresses>
     </host>
     ...

湾或者,端点的实际地址将在服务合同的运行时设置。

II。示例有效tcp uri

 <endpoint address="net.tcp://MyServerIPAddress:9000/tcp"
                       binding="netTcpBinding"
                       bindingConfiguration="tcpBinding"
                       contract="ChatService.IChat"/>

III。对于tcp绑定,地址必须以 net.tcp 开头,这是一条规则。

有关详细信息,请查看以下link