一、這么說吧,比如你要從別的網站或服務器上獲取資源或信息,別人肯定不會把數據庫共享給你,他只能給你提供一個他們寫好的方法來獲取數據,你引用他提供的接口就能使用他寫好的方法,從而達到數據共享的目的。
二、WCF和WebService關系
在WCF支持的各種協議中:每種協議中消息都有不同的傳輸格式、不同的編碼格式等等,WCF 以統一的方式來調用各種編碼器、進行傳輸。假如以后有新的協議出現,WCF並不用更改現有的框架、只用針對該協議做擴展就可以支持該協議了。這就很好地適應了變化,可以說WCF是封裝變化的絕佳實踐。
再來談談你的問題,WCF與Web 服務是什么關系,WCF 能夠創建兼容 Web 服務的服務,也就是說可以創建能夠與Web 服務互聯互通的服務,他們兩個並不能用簡單包含或者等同關系來表述。WCF 是一套框架,用來創建各種服務。其中包括創建 Web服務(采用 basicHttpBinding綁定的服務就是一個Web 服務)。
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大門的鑰匙
WCF是用於開發WS的框架,但又不僅限於開發WS應用,它還通過擴展以支持編寫普通的Socket應用程序.
我總結的WCF與WS的區別:(1)WCF可以不依賴於IIS。(2)WCF可以配置成BasicHttpBinding來兼容(或者說變身成)WS。(3)WCF可以基於TCP或者MessegeQueue來傳輸數據。(4)WCF的可配置性比WS強,比如安全性。(5)WCF可以是有狀態的,並支持事務。誰還有補充?或者在我的表達中有不准確的地方可以指出來。
