2009-04-02 3 views
6

Ich baue einen WCF-Dienst, die BasicHttp und NetTcp Bindungen aussetzen wird. Außerdem habe ich zwei Mex Endpunkte entsprechend, das heißtWCF Mex Endpunkte für mehrere Bindungen

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

Muss ich wirklich einen NetTcp Mex Endpunkt sowie eine BasicHttp Mex Endpunkt hinzufügen müssen? Werden Kunden nicht nur immer die Http mex Endpunkt für disocvery Metadaten verwenden, unabhängig davon, ob sie gehen mit tcp oder nicht kommunizieren?

Dank

Antwort

1

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

+0

haben Sie dazu zu sagen „Ich glaube, die Annahme ist, dass Ihr Kunde * wird * nur HTTP kommunizieren und nicht für mex net.tcp“ oder etwas in diesem Zusammenhang, da Sie nur der http mex Endpunkt unter Verwendung empfohlen? – atconway

+0

Korrigiert den Beitrag –

1

Nein, ist die Annahme, im Code, dass der Kommunikationskanal kann entweder http oder Netto-tcp.

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

Verwandte Themen