使用REST Web服务的最佳方式是什么?

.NET中使用REST Web服务的最佳方法是什么?

一个简单易行的方法是使用System.Net命名空间中的WebClient。

几乎所有你需要做的是传递所需的任何参数在查询stringforms所需的Uri,你应该以string的forms返回响应,无论是json或xml。 例如。

using System.Net; string param = "hello"; string url = String.Format("http://somedomain.com/samplerequest?greeting={0}",param); WebClient serviceRequest = new WebClient(); string response = serviceRequest.DownloadString(new Uri(url)); 

然后,就像Nick提到的那样,可以使用XmlDocument或JavaScriptSerializer来根据需要操纵结果。 无论如何,我build议查看它的文件,看看它是否满足您的需求。 http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx

相反,像Kenney一样使用WebClient,可以使用HttpWebRequest和HttpWebResponse,并使用StreamReader和XmlDocument处理结果。

还有RestSharp ,一个轻量级的.NET组件,可让您轻松使用REST Web服务

在我看来,实现REST API最简单的方法是使用服务堆栈:

http://www.servicestack.net/

我最后一个Windows项目是在WCF和ServiceStack中进行了概念validation,并且服务栈应用程序的速度更快(可以在服务栈站点查找测量结果),并且更易于维护(代码less,魔术实现less)。 而最重要的一点,它可以帮助你把注意力集中在简单。

你想要消费还是发布? 如果你想要消费,比如发出请求,最好的方式是与它进行交互,通常是JSON或者XML。 在获得types之后,可以使用XmlDocument或JavaScriptSerializer来撤回信息并使用它。

如果你想产生一个REST接口,那么你可能想要使用MVC REST视图或WCF作为@Brian说。

如果REST服务是使用ASP.NET Web API构build的,那么我将使用Microsoft Http Client Libraries。 (nuget包可用)。 注意:这似乎已经取代了以下链接的nuget屏幕截图中列出的web api客户端库。

这将从.NET 4,Windows商店应用程序,Windows Phone 7.5 / 8,Silverlight 4和5工作。

理论上你可以用它来调用任何由其他框架构build的REST服务。

以下是使用HttpClient类来调用REST服务的一些示例的链接: 从.net客户端调用web api