如何在.NET中使用Restful服务?

时间:2012-01-16 17:14:21

标签: c# .net rest

使用.Net框架使用RESTful服务有哪些选择?什么时候WCF(使用WebChannelFactory)比HttpClient更优选?

7 个答案:

答案 0 :(得分:16)

Microsoft的最新HTTP库在https://www.nuget.org/packages/Microsoft.Net.Http,我有一篇博客文章,展示了如何使用它here

您永远不会想要对RESTful服务使用WebChannelFactory。 WebChannelFactory生成的耦合击败了REST。

答案 1 :(得分:14)

结帐restsharp。我没有使用它,但我正在考虑使用我们自己的REST服务。

答案 2 :(得分:3)

吊床项目使得使用RESTful服务非常容易,您可以使用它轻松创建所需的http请求:

https://github.com/danielcrenna/hammock

答案 3 :(得分:2)

我认为只要你想要它提供的抽象,WCF就更好。

WCF提供了对所采用的特定消息传递和通信协议的抽象。即使只考虑RESTful场景,您也可以更轻松地适应不同的消息格式(XML,JSON,HTML)。

WCF还提供配置机制,可扩展性点和检测。

答案 4 :(得分:2)

在.NET中使用REST服务的方法很少:

我写了一个blog post来演示前三个选项。

在通过WCF或HttpClient进行消费时,我认为阅读此SO question以了解REST服务的潜力是有意义的。当您通过WCF使用REST服务时,您无法使用所有这些功能。

答案 5 :(得分:0)

这是在asp.net c#

中调用或使用rest webservice的一种技术
var client  = new RestClient("url"); 
var request = new RestRequest(Method.POST);

request.AddHeader("content-type", "application/json");
request.AddParameter("application/x-www-form-urlencoded",
    "type=password& user_id=test@gmail.com",ParameterType.RequestBody);

IRestResponse response = client.Execute(request);

答案 6 :(得分:0)

我今天刚刚在这里发布了一个REST客户端。您可以下载Git仓库以查看样品。 https://bitbucket.org/MelbourneDeveloper/restclient-.net

  • 开源。 (麻省理工学院执照)
  • 标记语言不可知。 (支持JSON,SOAP和其他标记语言)
  • 在REST中使用强类型。
  • 支持Android,iOS,Windows 10,Windows 10手机,Silverlight,.NET,.NET Core。
  • 难以置信的简单。
  • 异步友好(使用async,等待关键字)。
  

什么时候WCF(使用WebChannelFactory)更可取   HttpClient的?

这是一个非常有问题的问题。 WCF是一个非常大的技术集合,允许您与许多不同的协议,身份验证方法等进行通信。它非常易于配置,但REST很简单,几乎所有可用技术都支持REST。如果您编写REST服务,几乎任何应用程序都可能会使用它。真的,问题在于你的目标受众是谁。