WCF與WebService的區別
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 支持多種並發模式:單例、單調、會話
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,就相當於掌握了