我有一个ASP.net应用程序,目前使用SOAP Web服务。这个平台的目标是.net 2.0,我使用Visual Studio Professional 2005进行维护。我现在需要在同一个应用程序中使用大量的restful Web服务。
与使用HttpClient相比,使用WCF的Restful Web服务的消耗是如此微不足道,因此值得花费升级到Visual Studio 2008和.Net 3.5框架的成本和时间
答案 0 :(得分:5)
我永远不会阻止任何人升级到VS2008和.Net 3.5,但是,我也绝不会鼓励任何人在客户端上使用WCF与HTTP端点进行通信。
我强烈建议您查看WCF REST Starter Kit中提供的HTTP客户端库。然而,该库尽管名称不同,但不需要WCF或.NET 3.5。要使用Microsoft.Http.HttpClient,您只需要.net 2.0。如果您使用具有帮助程序方法的Microsoft.Http.Extensions DLL来使用DataContract序列化程序和联合供稿,则只需要3.5。
在我看来,不要被客户端DataContracts用于远程服务,它实际上是尾巴摇摆不定的狗,你将长期受苦。这里有一些关于Stack Overflow的问题的例子,他们正在努力让DataContracts生成服务所需的确切XML。
答案 1 :(得分:0)
这是一个描述该怎么做的链接。
http://blogs.msdn.com/pedram/archive/2008/04/21/how-to-consume-rest-services-with-wcf.aspx
我会升级,因为他们已经把事情放在适当的位置,以使您的工作更轻松。升级到3.5还为您提供了超过2.0的其他优势,因此您不仅可以获得REST组件,还可以获得LINQ,扩展方法等其他内容。
请记住,您不需要新的运行时环境来使用.net 3.5,因此如果绝对无法在服务器上安装3.5,则可以在部署时包含3.5程序集,它应该可以正常工作。
答案 2 :(得分:0)
查看Channel9上的WCF REST截屏视频:
http://channel9.msdn.com/tags/REST%20Starter%20Kit%20endpoint%20screencasts/
特别是这一个:Consuming REST services with HttpClient
在该截屏视频上花费15分钟,然后自己判断! : - )