C# 多个绑定的WCF Mex端点

C# 多个绑定的WCF Mex端点,c#,wcf,mex,C#,Wcf,Mex,我正在构建一个WCF服务,它将公开BasicHttp和NetTcp绑定。我还添加了两个相应的Mex端点,即 <service name="WCFTest.CalculatorService" behaviorConfiguration="WCFTest.CalculatorBehavior"> <host> <baseAddresses> <add baseAddress = "http://localhost:8000/WCFT

我正在构建一个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端点吗?无论客户机是否要使用tcp进行通信,他们是否会始终使用Http mex端点进行元数据传输


谢谢

是的,您可以只使用HTTP mex端点。我认为假设您的客户端可以通过HTTP进行通信

否,您的代码中假设通信通道可以是http或net tcp

如果您不同时声明这两个绑定,这意味着您将服务/客户端限制为仅通过一个绑定进行通信。

您的意思是说“我认为假设您的客户端将仅通过HTTP而不是net.tcp for mex进行通信”还是类似的话,因为您建议只使用HTTP mex端点?