2009-04-02 14 views
6

Estoy construyendo un servicio WCF que expondrá enlaces BasicHttp y NetTcp. También he añadido dos puntos finales Mex correspondiente, es decirWCF Mex End Points for Multiple Bindings

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

¿Es realmente necesario añadir un punto final NetTcp Mex, así como un punto final BasicHttp Mex? ¿Los clientes no siempre usarán el punto final Http mex para la separación de metadatos, independientemente de si van a comunicarse utilizando tcp o no?

Gracias

Respuesta

1

Sí, puede utilizar sólo el punto final HTTP Mex. Creo que la suposición es que su cliente puede comunicarse a través de HTTP.

+0

¿quiso decir "Creo que la suposición es que su cliente * solo * se comunicará a través de HTTP y no net.tcp para mex" o algo similar, ya que lo recomendó solo con el punto final http mex? – atconway

+0

Corregí la publicación –

1

No, la suposición en su código es que el canal de comunicación puede http o net tcp.

Si no declara ambas cosas, significa que está restringiendo el servicio/cliente para que se comunique con una sola vinculación.