2012-01-16 17 views

回答

14

退房restsharp。我沒有使用它,但我正在研究它以消耗我們自己的REST服務。

+0

這是如何工作的? restsharp是不錯的選擇?它看起來超級方便,易於使用。 – Jonathan 2017-01-31 14:20:58

+0

是的,我真的很喜歡它。 – 2017-02-09 22:20:15

2

我認爲,只要你想它提供的抽象WCF是優選的。

WCF提供了所採用的特定消息和通信協議的抽象。即使只考慮一個RESTful場景,你也可以更容易地適應不同的消息格式(XML,JSON,HTML)。

WCF還提供配置機制,可擴展性點,和儀表。

+0

對於現在讀這個的人:WCF基本上是死的。如果您想深入研究它,請確保它完全脫離REST,只有在您確實知道您需要時才能使用它。 – TheMonarch 2017-07-13 16:15:48

+0

@ TheMonarch你似乎覺得WCF與一組特定的協議綁定在一起。根據您的評論判斷,您最有可能將WCF與XML和SOAP等各種SOA技術相關聯。 WCF實際上是一個爲不同協議而擴展的通信框架。確實,大部分開箱即用的擴展與SOA(WCF發佈時的後果)相關,但擴展可以針對REST(HTTP/JSON),協議緩衝區,gRPC,甚至是自定義協議。 – 2017-07-17 20:20:08

16

微軟最新的HTTP庫在這裏https://www.nuget.org/packages/Microsoft.Net.Http,我有一個博客帖子顯示如何使用它here

你絕不會希望使用WebChannelFactory對RESTful服務。由WebChannelFactory生成的耦合擊敗了REST。

+0

您的博客鏈接已死,您能解決它嗎? – dcp 2013-10-09 00:08:29

+0

@dcp對不起。 – 2013-10-09 01:42:28

+1

你也想看到這個包:http://www.nuget.org/packages/Microsoft.Net.Http/ – Gilney 2013-10-25 14:09:44

2

有在.NET中使用REST服務的幾種不同的方式:

我寫了一個blog post,演示前三個選項。

通過WCF或消費的HttpClient我覺得很有道理閱讀本SO question瞭解REST服務的潛力。當您通過WCF使用REST服務時,您無法使用全部功能。

0

這是打電話或在asp.net C#

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& [email protected]",ParameterType.RequestBody); 

IRestResponse response = client.Execute(request); 
0

我今天發佈一個REST客戶端耗費在這裏休息web服務的一種技術。您可以下載Git回購以查看示例。

  • 開源。 (MIT許可證)
  • 標記語言不可知。 (支持JSON,SOAP和其他標記語言)
  • 在REST中使用強類型。
  • 支持Android,iOS版時,Windows 10時,Windows 10電話,Silverlight中,.NET,.NET的核心。
  • 令人難以置信的簡單。
  • 異步友好(使用異步,等待關鍵字)。

當WCF(使用WebChannelFactory)更優選的是 HttpClient的?

這是一個非常有問題的問題。 WCF是一個非常大的技術集合,允許您與許多不同的協議,身份驗證方法等進行通信。它非常易於配置,但REST非常簡單,幾乎可用所有技術支持。如果您編寫REST服務,幾乎所有的應用程序都可能會使用它。真的,問題是關於你的目標受衆是誰。