WCF Mex End pontuação para várias ligações
Pergunta
Eu estou construindo um serviço WCF que irá expor BasicHttp e NetTcp ligações. Eu também acrescentou dois correspondentes endpoints Mex, i.
<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>
Será que eu realmente preciso adicionar um ponto final NetTcp Mex, bem como um ponto final BasicHttp Mex? Será que os clientes não apenas sempre usar o Http mex endpoint para meta disocvery dados independentemente de se eles vão se comunicar usando TCP ou não?
Graças
Solução
Sim, você pode usar apenas o HTTP mex endpoint. Acho que a idéia é que o seu cliente pode se comunicar através de HTTP.
Outras dicas
Não, a suposição no seu código é que o canal de comunicação pode http ou tcp net.
Se você não declarar ambos Isso significa que você está restringindo o serviço / cliente para se comunicar através de uma única ligação.