使用.Net框架使用RESTful服务有哪些选择?什么时候WCF(使用WebChannelFactory)比HttpClient更优选?
答案 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请求:
答案 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
什么时候WCF(使用WebChannelFactory)更可取 HttpClient的?
这是一个非常有问题的问题。 WCF是一个非常大的技术集合,允许您与许多不同的协议,身份验证方法等进行通信。它非常易于配置,但REST很简单,几乎所有可用技术都支持REST。如果您编写REST服务,几乎任何应用程序都可能会使用它。真的,问题在于你的目标受众是谁。