0

今tcpエンドポイントを参照してください

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

tcpエンドポイントアドレスにはURLがなく、tcpという単語がアドレスプロパティに割り当てられています...なぜですか?

有効なTCPURLになり得るサンプル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

完全な構成ファイルがないと、正確なことはわかりませんが、私の推測は次のとおりです。

I. address = "tcp"

a。ホストのベースアドレスには設定があるため、完全なアドレスはベースアドレス+tcpになります。たとえば、次のサービスにはベースアドレスがあります

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

b。または、エンドポイントの実際のアドレスは、サービス契約の実行時に設定されます。

II。有効なtcpuriのサンプル

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

III。tcpバインディングの場合、アドレスはnet.tcpで始まる必要があり、これはルールです。

詳細については、次のリンクをご覧ください。

于 2012-12-28T12:46:46.870 に答える