何时使用wcf mex端点

gma*_*ser 0 wcf

我对MEX端点感到困惑.如果我错了,请纠正我.有两种方法可以公开元数据.一个有MEX端点,另一个有<serviceMetadata httpGetEnabled="true" />.第一个将使用WS-MetadataExchange公开元数据,第二个将使用WSDL.

我有以下问题:

  • 这两种方法有什么区别?
  • 我们什么时候使用一个而不是另一个?
  • 两者都限于某些绑定?如果是哪一个属于哪个绑定?

提前致谢.

Lad*_*nka 5

有两种方法可以公开元数据:

  1. <serviceMetadata />使用契约添加行为和端点IMetadataExchange
  2. 添加<serviceMetadata httpGetEnabled="true" />行为(或httpsGetEnabled)

第一种方法是发布到端点的标准SOAP消息=端点可以使用任何绑定和任何支持双向SOAP通信的传输.它是其他工具使用的标准化方法 - 例如,WCF发现可以使用它来获取有关已发现端点绑定的信息.它仍然传输WSDL和XSD.

第二种方法更像REST.您将使用HTTP的GET操作来检索WSDL和XSD.它也可以配置,但它只支持HTTP(S)协议.