要在 C# 中使用 RESTful Web 服务,我应该使用 HttpWebRequest 吗?
Posted
技术标签:
【中文标题】要在 C# 中使用 RESTful Web 服务,我应该使用 HttpWebRequest 吗?【英文标题】:To consume a RESTful web service in C#, should I use HttpWebRequest? 【发布时间】:2010-11-30 21:48:37 【问题描述】:如何在 C# 代码中使用 RESTful Web 服务?
注意:我所说的 RESTful 是指非 SOAP。例如,在 flickr API 中,您可以按如下方式调用其 Web 服务以返回 JSON 数据:
http://api.flickr.com/services/feeds/photos_public.gne?tags=cats&tagmode=any&format=json
我只是使用 HttpWebRequest 吗?
如果我使用带有 POST 参数的 Web 服务怎么办?那也会使用 HttpWebRequest 吗?
在消费者端使用 WCF 有什么好处吗?
【问题讨论】:
【参考方案1】:WCF 为通信提供了统一的编程模型,因此如果您以后决定不想使用 REST 或想要提供额外类型的端点(例如 SOAP),则只需更改配置即可。
看看 WCF 的 REST:
http://msdn.microsoft.com/en-us/netframework/cc950529.aspx
【讨论】:
此链接上的此文档建议我使用 WCF REST 入门工具包中的 HttpClient 类,该工具目前是预览版。我不能在我的环境中使用预览版——我应该只使用 HttpWebRequest 吗? 那么你可以使用HttpWebRequest,这个链接可能会有所帮助***.com/questions/1443858/… HttpClient 建立在 HTTPWebRequest 之上,实际上不依赖于 WCF,除非您使用 Syndication 的东西。完整的来源,非常值得一看。这是一个很好的例子,说明如何正确包装 HTTP WebRequest 以用于 REST 服务。【参考方案2】:他们是 .NET Framework 3.5 增强培训工具包中的演示和实验室,该工具包提供了两个基于创建、服务和使用 RESTFul 服务的实验室。以上链接是REST服务最好的MS组合资源。
鲍勃。
【讨论】:
以上是关于要在 C# 中使用 RESTful Web 服务,我应该使用 HttpWebRequest 吗?的主要内容,如果未能解决你的问题,请参考以下文章
KISS:与 RESTful Web 服务通信的简单 C# 应用程序