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

时间:2008-11-30 20:02:02

标签: .net web-services rest

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

7 个答案:

答案 0 :(得分:35)

直接且简单的方法是使用System.Net命名空间中的WebClient。

您需要做的就是以查询字符串形式传递所需的任何参数所需的Uri,然后您应该以字符串的形式返回响应,无论是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来操作结果。无论如何,我建议查看它上面的文档,看看它是否符合您的需求。 http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx

答案 1 :(得分:9)

使用像Kenney这样的WebClient,您可以使用HttpWebRequest和HttpWebResponse,并使用StreamReader和XmlDocument处理结果。

答案 2 :(得分:3)

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

答案 3 :(得分:2)

答案 4 :(得分:2)

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

http://www.servicestack.net/

我是上一个Windows项目,我在WCF和ServiceStack中进行了概念验证,服务堆栈应用程序更快(您可以在服务堆栈站点中查找测量值)并且更易于维护(代码更少,魔法实现更少)。最重要的是,它可以帮助您专注于简单。

答案 5 :(得分:1)

您想要消费还是发布。如果你想要消费,比如提出请求,与它进行交互的最佳方式就是找出它将要梳理的类型,通常是JSON或XML。获得类型后,可以使用XmlDocument或JavaScriptSerializer来提取信息并使用它。

如果您想要生成REST接口,那么您可能希望使用MVC,REST视图或WCF,如@Brian所说。

答案 6 :(得分:1)

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

这适用于.NET 4,Windows应用商店应用,Windows Phone 7.5 / 8,Silverlight 4和5。

理论上,您可以使用它来调用使用其他框架构建的任何REST服务。

以下是使用HttpClient类调用REST服务的一些示例的链接: Calling a web api from a .net client