2012-04-27 95 views
16

休息服務vs wcf服務有什麼優點和缺點?休息vs Wcf的優缺點

我想知道使用哪種類型,我有興趣找到某種比較。

+0

你的意思是休息vs肥皂? – MilkyWayJoe 2012-04-27 21:04:09

+1

[REST和SOAP]的可能重複(http://stackoverflow.com/questions/209905/rest-and-soap) – 2012-04-28 17:19:09

+1

對於2014年出現在這個問題上的人:http://www.dotnet-tricks。 com/Tutorial/webapi/JI2X050413 -WCF-and-Web-API-and-WCF-REST-and-Web-Service.html – Abhijeet 2014-10-15 07:51:14

回答

25

休息是通過互聯網進行溝通的一種方式。這是一個非常基本的過程,選擇地址作爲方法位置並返回HTML標準數據(當然是javascript,css,html)。

WCF是一個.net庫,用於讓兩個程序使用SOAP相互交談。其中包含兩個非常熟悉的交易類信息程序。

看來Rest是一個過程,而WCF是一個類庫,更好的問題可能是「休息vs肥皂」。

底線是,如果您需要兩個應用程序交談,您可能需要使用WCF。即使這些應用程序不是都是用.net編寫的。但是,如果您需要Web技術訪問的信息(通常以這種方式完成JavaScript訪問),則需要使用Rest。

雖然只是一個快速的一面注意,WCF也休息,所以你真的不會在那裏出錯。

+2

我不太喜歡這裏的第一段。您可以返回任何可能包含js,html或css代碼的任意資源。 – 2015-03-11 12:23:03

9

你在問一個關於蘋果和橘子的問題。 REST是用於創建Web服務的模式。我不是專家,但你可以在Wikipedia找到大量的細節。 WCF是一種用於創建Web服務的Microsoft技術(主要使用SOAP,雖然它的配置非常可配,您也可以在其上執行REST - 請參閱ASP.Net WebAPI)。

優點爲WCF:

  1. 非常方便地配置 - 如果你能想象它,WCF也許可以做到這一點。
  2. 如果您堅持使用Microsoft堆棧,使用起來很簡單。 Visual Studio爲您完成90%的工作。

缺點爲WCF:

  1. 非常方便地配置 - 它可以是一個有點痛得到它做的正是你想要什麼,有時,特別是如果你是新來的吧。
  2. 不同的技術堆棧之間可能存在一些問題溝通。我聽說過Java服務在指向WCF服務時捲縮和死亡。據我所知,這是Java庫的問題,而不是WCF,但誰肯定知道。

這就是現在想到的一切,但希望這給你一個WCF的體面印象。

+1

之間的區別在ASP.Net WebAPI之前,您可以創建一個WCF rest服務小配置...搜索System.ServiceModel.Activation.WebServiceHostFactory。 – 2012-04-27 22:44:28

+0

ASP.NET Web API不再真正使用WCF。 – 2012-04-28 16:57:05

4

如果您確定HTTP是您想使用的協議,並且您希望將其作爲「應用程序」協議接受,而不僅僅是「傳輸」協議,那麼就像ASP.NET Web API一樣。

如果您在您的數據中心爲您的服務器構建服務以相互交談,那麼請認真考慮WCF。

是否做REST是一個完全不同的問題。這項服務會持續多年嗎?它會有很多不同的客戶嗎?這些客戶中有些是不受你控制的嗎?如果您的答案是肯定的,那麼可能值得研究REST約束可帶來的好處。