IMetadataExchange端点用途

时间:2010-05-25 13:25:37

标签: c# wcf metadata

IMetadataExchange端点的用途是什么。有些地方我发现如果我不定义这个端点,添加服务引用将无法工作或使用svcutil创建代理不会工作。但是这两种方法都没有定义IMetadataExchange。

如果我们有其他端点httpGetEnabled = true,我们可以从客户端创建代理。

另外,有些文章说我们应该在将代码转移到生产之前删除IMetadataExchange,它应该只是开发期,以便其他客户端看不到元数据。这不会阻止自我描述服务的行为吗?

如果我已经定义了这个IMetadataExchange端点,我怎么能在浏览器上看到它。我为此端点提供的地址并未在浏览器中提取任何元数据。

1 个答案:

答案 0 :(得分:1)

服务元数据可以通过两种方式提供:

  1. 通过HTTP / HTTPS提供常规WSDL,http [s] GetEnabled = true启用。
  2. WS-MetadataExchange(MEX),它使用SOAP(而不仅仅是基于HTTP的普通GET请求)并支持一些更高级的场景(至少在理论上)。这就是IMetadataExchange端点启用的功能。