WCF基本概念總結(jié)介紹
一個(gè)優(yōu)秀的開發(fā)人員是不可能不知道WCF是什么的。它的功能非常強(qiáng)大,具體使用方法也比較復(fù)雜,在這里就先向大家介紹一下WCF基本概念的一些經(jīng)驗(yàn)總結(jié)。#t#
Windows Communication Foundation (WCF) 是一個(gè)運(yùn)行庫(kù)和一組 API,用于創(chuàng)建在服務(wù)與客戶端之間發(fā)送消息的系統(tǒng)。它使用相同的基礎(chǔ)結(jié)構(gòu)和 API 來(lái)創(chuàng)建應(yīng)用程序,這些應(yīng)用程序可與同一計(jì)算機(jī)系統(tǒng)上或駐留在另一家公司內(nèi)并通過(guò) Internet 訪問(wèn)的系統(tǒng)上的其他應(yīng)用程序進(jìn)行通信。
WCF基本概念之消息和終結(jié)點(diǎn)
WCF 建立在基于消息的通信這一概念基礎(chǔ)之上,可以建模為消息(如 HTTP 請(qǐng)求或 MSMQ 消息)的任何內(nèi)容都可以在編程模型中按照統(tǒng)一方式進(jìn)行表示。這樣,就可以在不同傳輸機(jī)制間提供一個(gè)統(tǒng)一的 API。
該模型對(duì)“客戶端”(即啟動(dòng)通信的應(yīng)用程序)和“服務(wù)”(即等待客戶端與其進(jìn)行通信并響應(yīng)該通信的應(yīng)用程序)加以區(qū)分。單個(gè)應(yīng)用程序既可以充當(dāng)客戶端,也可以充當(dāng)服務(wù)。
消息在終結(jié)點(diǎn)之間發(fā)送。終結(jié)點(diǎn)是發(fā)送或接收消息(或執(zhí)行這兩種操作)的場(chǎng)所,它們定義消息交換所需要的所有信息。服務(wù)公開一個(gè)或多個(gè)應(yīng)用程序終結(jié)點(diǎn)(以及零個(gè)或更多個(gè)基礎(chǔ)結(jié)構(gòu)終結(jié)點(diǎn)),而客戶端生成一個(gè)與服務(wù)的其中一個(gè)終結(jié)點(diǎn)兼容的終結(jié)點(diǎn)。
“終結(jié)點(diǎn)”以基于標(biāo)準(zhǔn)的方式描述消息應(yīng)發(fā)送到的位置、消息應(yīng)如何發(fā)送以及消息應(yīng)具有的形式。服務(wù)可以將這些信息作為元數(shù)據(jù)加以公開,而客戶端可以處理這些元數(shù)據(jù)以生成適當(dāng)?shù)?WCF 客戶端和通信堆棧。
WCF基本概念之通信協(xié)議
通信堆棧的一個(gè)必要元素是傳輸協(xié)議??梢允褂贸S脗鬏攨f(xié)議(如 HTTP 和 TCP)通過(guò) Intranet 和 Internet 發(fā)送消息。也可以使用其他支持與 Microsoft 消息隊(duì)列 (MSMQ) 應(yīng)用程序和對(duì)等網(wǎng)絡(luò)網(wǎng)格上的節(jié)點(diǎn)進(jìn)行通信的傳輸協(xié)議。使用 WCF 的內(nèi)置擴(kuò)展點(diǎn)可以添加更多傳輸機(jī)制。
通信堆棧中的另一個(gè)必要元素是指定如何將任意給定消息格式化的編碼。WCF 提供了下列編碼:
文本編碼,一種可互操作的編碼。
消息傳輸優(yōu)化機(jī)制 (MTOM) 編碼,該編碼是一種可互操作的方法,用于高效地將非結(jié)構(gòu)化二進(jìn)制數(shù)據(jù)發(fā)送到服務(wù)或從服務(wù)接收這些數(shù)據(jù)。
用于實(shí)現(xiàn)高效傳輸?shù)亩M(jìn)制編碼。
使用 WCF 的內(nèi)置擴(kuò)展點(diǎn)可以添加更多編碼機(jī)制(如壓縮編碼)。
WCF基本概念之消息模式
WCF 支持多種消息模式,包括請(qǐng)求-回復(fù)、單向和雙工通信。不同傳輸協(xié)議支持不同的消息模式,因而會(huì)影響它們所支持的交互類型。WCF API 和運(yùn)行庫(kù)還能幫助您安全而可靠地發(fā)送消息。