代码之家  ›  专栏  ›  技术社区  ›  decyclone

从WebHttpBinding终结点获取元数据

  •  8
  • decyclone  · 技术社区  · 14 年前

    关于我的 previous question ,我想知道如何从客户端应用程序提取WCF服务的信息,以了解如果服务只公开一个使用WebHTTPbinding的端点,将公开哪些方法/类型?

    总而言之,在我前面的问题中,我开始了解到使用webhttpbinding的端点不会在生成的WSDL中暴露出来,因为它是一个JSON端点,只是不兼容。

    2 回复  |  直到 12 年前
        1
  •  10
  •   marc_s Anurag    14 年前

    webhttpbinding是基于REST的绑定-rest是 与SOAP相反,公开像WSDL/XSD这样的元数据。

    此时无法从REST端点提取元数据。目前正在努力建立一个类似的休息建筑,叫做 WADL (Web Application Description Language) -但这还没有接近标准化。

    现在,对于REST端点,您要么自己解决,要么需要服务提供者在静态HTML页面或其他地方提供一些文档。

    .NET 4确实提供了某种级别的自动生成的帮助页-请参见 this blog post MSDN docs 更多信息。但它还远没有像WSDL/XSD那样正式化和机器化。

        2
  •  0
  •   Tony Wall    12 年前

    我想知道为什么其余的示例告诉您公开一个MEX端点。不需要,下面介绍如何将其清除:

    1. 从配置文件的服务部分删除MEX端点。

    2. 删除配置文件的服务行为部分中启用了服务元数据的行。

    3. 编辑Visual Studio项目(假定它是WCF服务库)并删除行:

      <startarguments>/client:“wftestclient.exe”</startarguments>

    如果您有其他非休息服务,您将希望保留最后2部分。禁用MEX时必须删除WCF客户机,否则,如果无法枚举项目中的任何服务(无论它们是否有任何有用的元数据),则在调试过程中会出现投诉。