2011-02-17 51 views
3

可能缺少一些非常基本的东西。我创建了一个WCF 4.0 Rest服务。当我从浏览器点击网址时,它没有任何问题,我正在恢复想要的内容。公开WCF 4.0其余模板服务的元数据

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

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

回答

14

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

REST服务直接利用WebRequest或通过在共享合同的顶部构建ChannelFactory消耗。这两种方法都被描述为here。其他方法是从REST Starter kit(前API)使用HttpClient。入门套件的问题在于它从未达到RTM(它被WCF 4所取代)。代替元数据端点WCF 4 REST服务提供了help page,其中描述了所有操作。当使用WCF 4 REST模板时,帮助页面应该已经打开 - 只需添加/帮助sufix即可解析您的服务。关于构建REST客户端的Here is another article

+0

谢谢,自从我发布我已经看过并阅读了很多文章。我有点困惑的部分是每个人都通过点击Url来使用WCF数据服务(不是REST?),然后通过Add Service Reference生成一个客户端。 – 2011-02-18 00:29:18