我正在构建一个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进行通信?
由于
答案 0 :(得分:1)
是的,您只能使用HTTP mex端点。我认为假设您的客户端可以通过HTTP进行通信。
答案 1 :(得分:1)
不,您的代码中的假设是通信通道可以是http或net tcp。
如果您没有声明这两者,则意味着您要限制服务/客户端仅通过一个绑定进行通信。