關於WCF的一些知識點

首先,WCF和WebService一些區別
1,WCF支持多中通訊協議,http/https tcp/udp/msmq.命名管道,對等網,消息可達性,事物流等.
2,WCF能夠與ASP.NET集成,共享同一個上下文(HttpContext)
3,WCF支持多種消息傳輸格式,如text,binary,mtom,Json等等
4,WCF的安全性更強,支持對稱安全,非對稱安全,消息安全,傳輸安全,SSL安全,Windows流安全等.
5,WCF支持多種會話模式,單項 雙向,請求相應.
6,WCF支持REST風格.
7,WCF支持多種序列化格式方式,DataContractSerializer,XmlSerializer
,DataContract,JsonSerializer等
8,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之ABC

    Address: 每個WCF的Service都有一個惟一的地址。這個地址給出了Service的地址和傳輸協議(Transport Protocol)
    Binding:通訊(Communication)的方式不少,同步的request/reply模式,非同步的fire-and-forget模式。消息能夠單向或者雙向的發送接收,能夠當即發送或者把它放入到某一個隊列中再處理。所供選擇的傳輸協議也有Http, Tcp,P2P,IPC等。當要考慮Client/Server如何進行通信的時候,除了考慮以上提到的幾點以外,還有其它不少須要考慮的因素,如安全,性能等。所以,簡單來講,Binding只不過是微軟提供的一組考慮比較周全、經常使用的封裝好的通訊方式。
    Contract:Contract描述了Service能提供的各類服務。Contract有四種,包括Service Contract, Data Contract, Fault Contract和Message Contract併發

相關文章
相關標籤/搜索