1. 程式人生 > >.NET 的 WCF 和 WebService 有什麼區別?

.NET 的 WCF 和 WebService 有什麼區別?

        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大門的鑰匙。(MSDN)(