WCF與WebService的區別

2021-07-11 10:25:55 字數 2630 閱讀 4646



a:(1)wcf可以不依賴於iis。

(2)wcf可以配置成basichttpbinding來相容(或者說變身成)ws。

(3)wcf可以基於tcp或者messegequeue來傳輸資料。

(4)wcf的可配置性比ws強,比如安全性。

(5)wcf可以是有狀態的,並支援事務。

b:

wcf 支援多種通訊協議 http/https 、tcp/udp、msmq、命名管道、對等網、

訊息可達性、事務流等。

wcf 可以與asp.net 整合、共享乙個上下文(httpcontext)。

wcf 支援多種訊息傳輸格式 :text,binary,mtom,json 等。

wcf 安全性要強:支援對稱安全、非對稱安全、訊息安全、傳輸安全、

ssl 流安全、windows 流安全等。

wcf 支援多種會話模式:單向、雙向、請求/響應。

wcf 支援rest 。

wcf 支援多種格式化方式。datacontractserializer、xmlserializer、 

datacontractjsonserializer 等。

wcf 支援 was hosting、windows 服務 hosting、self-hosting、iis hosting 等。

wcf 支援多種併發模式:單例、單調、會話 。

c:

1.webservice:嚴格來說是行業標準,不是技術,使用xml擴充套件標記語言來表示資料(這個是誇語言和平台的關鍵)。微軟的web服務實現稱為asp.net web service.它使用soap簡單物件訪問協議來實現分布式環境裡應用程式之間的資料互動。wsdl來實現服務介面相關的描述。此外web services 可以註冊到uddi中心.供其客戶查詢使用。

後來微軟做了asp.net web service的安全,效能,資料加密、解密,託管宿主等多方面的擴充套件,稱為wse系列,這個是過度產品,最高到wse3.0.後來就是wcf時代。

2.wcf:其實一定程度上就是asp.net web service,因為它支援web service的行業標準和核心協議,因此asp.net web service和wse能做的事情,它幾乎都能勝任,跨平台和語言更不是問題(資料也支援xml格式化,而且提供了自己的格式化器)。

但是wcf作為微軟主推乙個通訊元件或者平台,它的目標不僅僅是在支援和整合web service,因為它還相容和具備了微軟早期很多技術的特性。

根據微軟官方的解釋,wcf(之前的版本名為「indigo」)是使用託管**建立和執行面向服務(service oriented)應用程式的統一框架。它使得開發者能夠建立乙個跨平台的安全、可信賴、事務性的解決方案,且能與已有系統相容協作。wcf是微軟分布式應用程式開發的集大成者,它整合了.net平台下所有的和分布式系統有關的技術,如enterprise sevices(com+).net remoting、web service(asmx)、wse3.0和msmq訊息佇列。以通訊(communiation)範圍而論,它可以跨程序、跨機器、跨子網、企業網乃至於 internet;以宿主程式而論,可以以asp.net,exe,wpf,windows forms,nt service,com+作為宿主(host)。wcf可以支援的協議包括tcp,http,跨程序以及自定義,安全模式則包括saml, kerberos,x509,使用者/密碼,自定義等多種標準與模式。也就是說,在wcf框架下,開發基於soa的分布式系統變得容易了,微軟將所有與此相關的技術要素都包含在內,掌握了wcf,就相當於掌握了叩開soa大門的鑰匙。

d:   2、互操作性   由於wcf最基本的通訊機制是soap(****** object access protocol 簡易物件訪問協議),這就保證了系統之間的互操作性,即使是執行不同的上下文中。這種通訊可以是基於.net到.net間的通訊,如下圖所示:   可以跨程序、跨機器甚至於跨平台的通訊,只要支援標準的web service,例如j2ee應用伺服器(如websphere,weblogic)。應用程式可以執行在windows作業系統下,也可以執行在其他的作業系統,如sun solaris,hp unix,linux等等。如下圖所示:   3、安全與可信賴   ws-security,ws-trust和ws-secureconversation均被新增到soap訊息中,以用於使用者認證,資料完整性驗證,資料隱私等多種安全因素。   在soap 的header中增加了ws-reliablemessaging允許可信賴的端對端通訊。而建立在ws-coordination和ws- atomictransaction之上的基於soap格式交換的資訊,則支援兩階段的事務提交(two-phase commit transactions)。   上述的多種ws-policy在wcf中都給與了支援。對於messaging而言,soap是web service的基本協議,它包含了訊息頭(header)和訊息體(body)。在訊息頭中,定義了ws-addressing用於定位soap訊息的位址資訊,同時還包含了mtom(訊息傳輸優化機制,message transmission optimization mechanism)。如圖所示:   4、相容性   wcf充分的考慮到了與舊有系統的相容性。安裝wcf並不會影響原有的技術如asmx和.net remoting。即使對於wcf和asmx而言,雖然兩者都使用了soap,但基於wcf開發的應用程式,仍然可以直接與asmx進行互動。

WCF 與Web Service的區別

問題 wcf與 web service的區別是什麼?和asp.net web service有什麼關係?wcf與asp.net web service的區別是什麼?這是很多.net開發人員容易搞錯的問題。面試的時候也經常遇到。而很多新手也會因為初次接觸wcf或者web service而陷入迷惑的境地...

WCF 與Web Service的區別

問題 wcf與 web service的區別是什麼?和asp.net web service有什麼關係?wcf與asp.net web service的區別是什麼?這是很多.net開發人員容易搞錯的問題。面試的時候也經常遇到。而很多新手也會因為初次接觸wcf或者web service而陷入迷惑的境地...

WCF與 Web Service的區別

問題 wcf與 web service的區別是什麼?和asp.net web service有什麼關係?wcf與asp.net web service的區別是什麼?這是很多.net開發人員容易搞錯的問題。面試的時候也經常遇到。而很多新手也會因為初次接觸wcf或者web service而陷入迷惑的境地...