0

现在看到 tcp 端点

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

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

给我一个示例 url,它可以是一个有效的 tcp url。

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>
4

1 回答 1

0

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

一、地址="tcp"

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

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

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

二、一个有效的 tcp uri样本

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

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

有关更多信息,您可以查看以下链接

于 2012-12-28T12:46:46.870 回答