Конечные точки WCF Mex для нескольких привязок - PullRequest
6 голосов
/ 02 апреля 2009

Я создаю службу WCF, которая будет предоставлять привязки BasicHttp и NetTcp. Я также добавил две соответствующие конечные точки Mex, т.е.

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

Действительно ли мне нужно добавить конечную точку NetTcp Mex, а также конечную точку BasicHttp Mex? Будут ли клиенты не всегда всегда использовать конечную точку Http mex для обнаружения метаданных, независимо от того, собираются ли они общаться через tcp или нет?

Спасибо

Ответы [ 2 ]

1 голос
/ 20 апреля 2012

Нет, в вашем коде предполагается, что канал связи может быть http или net tcp.

Если вы не объявляете и то и другое, это означает, что вы ограничиваете службу / клиент для связи только через одну привязку.

1 голос
/ 02 апреля 2009

Да, вы можете использовать только конечную точку HTTP mex. Я думаю, что предполагается, что ваш клиент может общаться через HTTP.

...