WCF特點(diǎn)具體優(yōu)勢(shì)總結(jié)
WCF已經(jīng)出現(xiàn),就立即引起了廣大開(kāi)發(fā)人員的注意,它獨(dú)特的性能特點(diǎn)令其在開(kāi)發(fā)領(lǐng)域中占據(jù)著主要的地位。那么WCF特點(diǎn)都有哪些優(yōu)勢(shì)呢?我們?cè)谶@里將會(huì)針對(duì)這一問(wèn)題做一個(gè)詳細(xì)的闡述。#t#
WCF特點(diǎn)1、統(tǒng)一性
前面已經(jīng)敘述,WCF是對(duì)于ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技術(shù)的整合。由于WCF完全是由托管代碼編寫(xiě),因此開(kāi)發(fā)WCF的應(yīng)用程序與開(kāi)發(fā)其它的.Net應(yīng)用程序沒(méi)有太大的區(qū)別,我們?nèi)匀豢梢韵駝?chuàng)建面向?qū)ο蟮膽?yīng)用程序那樣,利用WCF來(lái)創(chuàng)建面向服務(wù)的應(yīng)用程序。
WCF特點(diǎn)2、互操作性
由于WCF最基本的通信機(jī)制是SOAP,這就保證了系統(tǒng)之間的互操作性,即使是運(yùn)行不同的上下文中。這種通信可以是基于.Net到.Net間的通信??梢钥邕M(jìn)程、跨機(jī)器甚至于跨平臺(tái)的通信,只要支持標(biāo)準(zhǔn)的Web Service,例如J2EE應(yīng)用服務(wù)器(如WebSphere,WebLogic)。應(yīng)用程序可以運(yùn)行在Windows操作系統(tǒng)下,也可以運(yùn)行在其他的操作系統(tǒng),如Sun Solaris,HP Unix,Linux等等。
WCF特點(diǎn)3、安全與可信賴(lài)
WS-Security,WS-Trust和WS-SecureConversation均被添加到SOAP消息中,以用于用戶認(rèn)證,數(shù)據(jù)完整性驗(yàn)證,數(shù)據(jù)隱私等多種安全因素。在SOAP的header中增加了WS-ReliableMessaging允許可信賴(lài)的端對(duì)端通信。而建立在WS-Coordination和WS-AtomicTransaction之上的基于SOAP格式交換的信息,則支持兩階段的事務(wù)提交(two-phase commit transactions)。
上述的多種WS-Policy在WCF中都給與了支持。對(duì)于Messaging而言,SOAP是Web Service的基本協(xié)議,它包含了消息頭(header)和消息體(body)。在消息頭中,定義了WS-Addressing用于定位SOAP消息的地址信息,同時(shí)還包含了MTOM(消息傳輸優(yōu)化機(jī)制,Message Transmission Optimization Mechanism)。
WCF特點(diǎn)4、兼容性
WCF充分的考慮到了與舊有系統(tǒng)的兼容性。安裝WCF并不會(huì)影響原有的技術(shù)如ASMX和.Net Remoting。即使對(duì)于WCF和ASMX而言,雖然兩者都使用了SOAP,但基于WCF開(kāi)發(fā)的應(yīng)用程序,仍然可以直接與ASMX進(jìn)行交互。
此外WCF特點(diǎn)還具有以下兩個(gè)比較重要的特點(diǎn):
1 WCF最大的優(yōu)點(diǎn)在于,它為Application之間的Communication建立里一個(gè)基礎(chǔ)構(gòu)造,他可以把原來(lái)的,現(xiàn)在的,將來(lái)出現(xiàn)的不同的通訊方式整合在一起,提供一種統(tǒng)一的編程模型。對(duì)于使用到的通訊協(xié)議,它是可配置的,可定制的,WCF設(shè)計(jì)的時(shí)候完全考慮到你說(shuō)的這種的情況,如果將來(lái)出現(xiàn)的一種新的通訊協(xié)議,我們只需要實(shí)現(xiàn)某個(gè)接口,自定義你自己的通訊實(shí)體就可以了。
2.WCF通過(guò)一個(gè)叫做Endpoint的對(duì)象是進(jìn)行通訊,而對(duì)于一個(gè)Endpoint,所有的通訊底層邏輯完全有一個(gè)叫做Binding的對(duì)象實(shí)現(xiàn)。WCF提供了一系列的系統(tǒng)定義Bingding,各個(gè)Binding在使用的Protocol,Interoperbility,等等方面不盡相同,我們可以選擇我們需要的Binding實(shí)現(xiàn)和ASMX,MSMQ進(jìn)行通訊。如果達(dá)不到你的需要,你還可以建立你的自定義Binding。