Frage

Ich baue einen WCF-Dienst, die BasicHttp und NetTcp Bindungen aussetzen wird. Außerdem habe ich zwei entsprechende Mex Endpunkte, d.

<service name="WCFTest.CalculatorService" behaviorConfiguration="WCFTest.CalculatorBehavior">
  <host>
    <baseAddresses>
      <add baseAddress = "http://localhost:8000/WCFTest/CalculatorService/" />
      <add baseAddress = "net.tcp://localhost:9000/WCFTest/CalculatorService/" />
    </baseAddresses>
  </host>

  <endpoint address ="basicHttpEP" binding="basicHttpBinding" contract="WCFTest.ICalculatorService"/>
  <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>

  <endpoint address ="netTcpEP" binding="netTcpBinding" contract="WCFTest.ICalculatorService"/>
  <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/>        
</service>

Habe ich auch wirklich einen NetTcp Mex Endpunkt hinzufügen müssen als BasicHttp Mex Endpunkt? Werden Kunden nicht nur immer die Verwendung Http mex Endpunkt für die Meta-Daten disocvery unabhängig davon, ob sie gehen mit tcp oder nicht kommunizieren?

Danke

War es hilfreich?

Lösung

Ja, können Sie nur den HTTP-mex Endpunkt verwenden. Ich denke, die Annahme ist, dass der Client über HTTP kommunizieren.

Andere Tipps

Nein, die Annahme in Ihrem Code besteht darin, dass der Kommunikationskanal kann entweder http oder Netto-tcp.

Wenn Sie nicht erklären beide, dass bedeutet, dass Sie den Service / Client beschränken nur eine Bindung zu kommunizieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top