簡體   English   中英

WCF服務與Web服務和REST服務之間的區別

[英]difference between WCF Services and Web Services and REST Service

.net中的WCF服務和Web服務有什么區別
我什么時候應該使用WCF以及何時使用Web服務。REST和WCF服務是一樣的嗎? 謝謝

Web Service是一個抽象術語,包含分布式系統的各種數據提供程序。 也許您指的是ASMX Web服務,它仍然可以在野外發現,但目前在新的開發中並沒有真正廣泛使用。

WCF服務是Microsoft的SOAP實現。 還有其他實現,或者您可以自己推送(不推薦)。

SOAP是一種有狀態的,基於會話的,基於消息的Web服務。 如果您的服務被設計為一組復雜的操作,那就太好了。

REST是一種無狀態,無會話,基於資源的Web服務。 如果您的服務旨在訪問數據並對其執行簡單的CRUD操作,那就太好了。 SOAP和REST是互斥的。 服務不能兩者兼而有之。 有些方法可以操作vanilla WCF來實現RESTful,但是這些技術已經被棄用了。 如果要實現RESTful Web服務,Microsoft世界中有兩個主要選擇:WCF數據服務和ASP.NET Web API。

REST是一種架構

WCF是.NET Framework中用於構建連接的面向服務的應用程序的API。

在過去,通過互聯網可以訪問作為Web服務開發的功能,並且可以通過遠程處理獲得在本地網絡上可用的功能。

使用WCF,我們不需要開發不同的代碼,因為它可以通過Internet和本地網絡訪問。 只需使用綁定進行配置就足夠了。

這是一個非常廣泛的問題......我只是給出一個簡短的高級答案,並建議你做更多的搜索,因為已經有很多關於每個主題的文章。 但是,希望這會讓你朝着正確的方向前進。

首先,通常當人們引用WCF服務和Web服務時,他們指的是較新的WCF約定,這些約定使服務調用相當通用(它們可以是SOAP,REST等)和Web服務的舊.asmx SOAP方法。 因此,在這些方面,我建議更多地了解WCF和SOAP / .ASMX以了解WCF和舊Web服務的區別。

至於WCF和REST,它們不一樣。 REST更像是一種架構,而WCF是一種框架。 正如我已經提到的,WCF可用於進行SOAP調用或REST調用。 我不確定如果不進一步詳細說明我可以添加更多內容。

不過,我會看一下我是否可以稍后在REST和WCF上找到一些好文章。 就個人而言,我認為甚至沒有理由對舊的調用Web服務(.ASMX頁面)的方式進行深入研究,因為WCF幾乎已經過時了。 然而,學習許多不同的皮膚貓的方法可能有助於找到最適合你的東西。

同樣,這是非常高的水平,但這些是非常一般的主題,每個都有很多,所以希望高水平的概述將有助於指導您深入研究每個主題。

當他們說“Web服務”時,有些人的意思是“ASMX”。

其他人只是使用“Web服務”來表示通用技術,並認為WCF是在.NET平台上創建Web服務的當前方式。 另一種是“ASMX Web服務”,與“WCF Web服務”不同。

“其他類型”是傳統技術,僅支持向后兼容性。 它們不應該用於新的開發,所以你沒有理解它們。

正如其他人所說,“REST”是一種架構風格,而不是一種技術。

Wcf :wcf是一種技術,作為.net框架的一部分,通過遵循統一的編程模型,提供了處理不同分布式技術的環境。 wcf創建代理。 wcf支持數據合同序列化器。 記錄顯示xml格式。

**休息:**休息是一種建築風格。它表示以更有效,更高效和簡單的方式使用網絡的現有功能。如插入,更新和刪除。 休息無法創建代理。 休息記錄顯示傑森格式。

Web服務 :托管在網站上的服務稱為Web服務。 Web服務支持xmlserializer

WCF是多方面的,所以我將談談它最常見的用法。 WCF和REST服務之間的一般區別在於內容。 REST調用通常以消息/文檔/實體為中心(對於客戶實體,找到以M開頭的那些;使用訂單實體,獲得訂單12並與HTTP協議綁定.WCF往往更多以操作為中心(調用查找操作) params,使用參數調用get操作。)WCF也不依賴於HTTP。

僅供參考,有使用WCF(WebInvoke,WebGet屬性)創建基於REST的服務的擴展。

我覺得這是一個很老的話題,但我最近也問了一個類似的問題。

給出的答案具有相似的相關性,但在我看來,Ray是最接近實際問題的。 在設計或重構基於Web的解決方案時,如果我們使用SOAP或REST,您總能得到問題。 答案在於服務背后所需的業務邏輯的復雜性。 REST適用於簡單的API調用,它通常包含少量請求的數據或過夜處理大型集合,但主要用於數據請求。 SOAP更像是一種具有業務邏輯的交互式日常服務。 例如,許多方法都有很多參數。

我們作為基於Web的解決方案的一部分,是嘗試並利用兩者。 對於內部方法和主要功能,我們使用SOAP,但對於公開的API,我們更喜歡REST。 框架相關,絕對是WCF的首選,無論是SOAP還是REST。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM