2009-10-06 23 views
2

我想使用C#構建.NET REST客戶端,儘管我在此處閱讀大量有關REST常見實踐的帖子,但我無法確定關於某事。我讀過很多REST客戶端示例,其中大多數僅使用HttpWebRequest/Response類來發出請求並接收響應。我想問的是,如果我簡單地使用REST服務,那麼您認爲缺點是什麼?我之前沒有使用過WCF,我也沒有太多的想法,所以我不能自己做比較。是否存在使用HttpWebRequest/Response構建.NET REST客戶端的任何缺點

使用這個REST客戶端,我將獲取,更新,發佈一些數據到設備。所以,除了開發的簡單性或複雜性之外,我最關心的是性能。你認爲WCF中的HttpClient會產生有意義的改變嗎?

Thx提前..

回答

3

WCF REST入門工具包中的HttpClient基於HttpWebRequest和HttpWebResponse。它對WCF的唯一依賴是擴展Dll中的HttpContent擴展方法。

我建議使用Microsoft.Http.HttpClient,因爲它可以正確地進行HTTP添加大量的功能。所有的HTTP頭都有包裝器。 HttpContent類負責從請求和響應流中讀取和寫入數據。它會緩衝響應,以便您可以多次讀取響應。它支持使異步調用更容易。

如果您遵循使用擴展方法轉換爲原生數據格式的模式,您會發現該庫非常易於使用。

-1

我不認爲會有顯着的性能差異。但是,通過簡單地使用HttpWebRequest和Response,您將最終得到非常複雜的代碼。對於小型應用程序來說,它會好的,但對於更高級的應用程序,您將很快以不可維護的代碼結束。使用這種原始方法,您將需要自己實現REST哲學。相反,WCF已經爲你準備好了,你只需要關注你的應用程序。

+0

好吧,明白了。謝謝:) – aslisabanci

+0

WCF在客戶端沒有做任何事情來「實施REST理念」。儘管如此,HttpClient確實使HTTP更容易。但是,您可以對任何REST接口使用HttpClient,WCF不是必需的。 –

相關問題