【问题标题】:IMetadataExchange endpoint purposeIMetadataExchange 端点用途
【发布时间】:2010-05-25 13:25:36
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# wcf metadata


    【解决方案1】:

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

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

    【讨论】:

    • 不。它是 SOAP,而不是像常规 WSDL over HTTP 那样的 REST 样式。您需要向该端点发送 SOAP 请求以取回数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    相关资源
    最近更新 更多