3

可能缺少一些非常基本的东西。我创建了一个 WCF 4.0 休息服务。当我从浏览器中点击 url 并且我得到了我想要的东西时,它没有问题。

但是现在我想从客户端 mvc 应用程序中使用该服务(它也将被其他非 .net 平台使用,这就是为什么它首先是一个休息服务)。

问题是如何获得对它的服务引用,以便我可以开始在我的 c# 代码中使用它?使用新的最小 WCF .net 4 配置方法并且没有服务合同接口,我不知道如何指定 mex 端点。最终,我不希望在生产中使用 mex 端点,只是在开发过程中。我希望能够指定我的所有服务(一个应用程序中大约 10 个)都具有带有一小块配置的端点,vs2010 .config 转换只是在我发布时撕掉。

4

1 回答 1

14

停止。REST 服务不使用元数据。元数据(Mex 端点)仅用于 SOAP 服务,因为 WSDL 1.1(WCF支持的唯一版本)只能描述 SOAP 服务。WADL或 WSDL 2.0 能够描述 REST 服务,但 WCF 目前不支持它们。

REST 服务通过WebRequest直接使用或ChannelFactory在共享合约之上构建来使用。这两种方法都在这里描述。其他方法是HttpClientREST Starter 工具包(以前的 API)中使用。Starter kit 的问题在于它从未达到 RTM(它已被 WCF 4 取代)。WCF 4 REST 服务提供了描述所有操作的帮助页面,而不是元数据端点。使用 WCF 4 REST 模板时,帮助页面应该已经打开 - 只需将 /help 后缀添加到您的服务地址。这是另一篇关于构建 REST 客户端的文章。

于 2011-02-17T23:25:21.723 回答