剖析概括WCF消息隊(duì)列
WCF經(jīng)過長(zhǎng)時(shí)間的發(fā)展,很多用戶都很了解WCF了,這里我發(fā)表一下個(gè)人理解,和大家討論討論。WCF消息隊(duì)列Message是由通信的雙方所需要傳遞的信息,它可以是各式各樣的媒體,如文本、聲音、圖象等等。消息最終的理解方式,為消息傳遞的雙方事先商定,這樣做的好處是,一是相當(dāng)于對(duì)數(shù)據(jù)進(jìn)行了簡(jiǎn)單的加密,二則采用自己定義的格式可以節(jié)省通信的傳遞量。消息可以含有發(fā)送和接收者的標(biāo)識(shí),只有指定的用戶才能看到回執(zhí)。時(shí)間戳,便于接收方對(duì)某些與時(shí)間相關(guān)的應(yīng)用進(jìn)行處理。截止時(shí)間,指定時(shí)間內(nèi)消息還未到達(dá)則作廢。
WCF消息隊(duì)列的類型主要包括一下幾種:
“公共隊(duì)列”在整個(gè)“消息隊(duì)列”網(wǎng)絡(luò)中復(fù)制,并且有可能由網(wǎng)絡(luò)連接的所有站點(diǎn)訪問。
“專用隊(duì)列”不在整個(gè)網(wǎng)絡(luò)中發(fā)布。相反,它們僅在所駐留的本地計(jì)算機(jī)上可用。專用隊(duì)列只能由知道隊(duì)列的完整路徑名或標(biāo)簽的應(yīng)用程序訪問。
“管理隊(duì)列”包含確認(rèn)在給定“消息隊(duì)列”網(wǎng)絡(luò)中發(fā)送的消息回執(zhí)的消息。指定希望 MessageQueue 組件使用的管理隊(duì)列(如果有的話)。
“響應(yīng)隊(duì)列”包含目標(biāo)應(yīng)用程序接收到消息時(shí)返回給發(fā)送應(yīng)用程序的響應(yīng)消息。指定希望 MessageQueue 組件使用的響應(yīng)隊(duì)列(如果有的話)。
#T#WCF消息隊(duì)列Queue是發(fā)送和接收消息的公用存儲(chǔ)空間,它可以存在于內(nèi)存中或者是物理文件中。消息可以以兩種方式發(fā)送,即快遞方式(express)和可恢復(fù)模式(recoverable),它們的區(qū)別在于,快遞方式為了消息放置于內(nèi)存中,可恢復(fù)模式放于物理磁盤上(詳細(xì)參見MSDN).了解到消息隊(duì)列MSMQ相關(guān)的基本概念以后,我們知道它的:優(yōu)點(diǎn):穩(wěn)定、消息優(yōu)先級(jí)、脫機(jī)能力以及安全性,有保障的消息傳遞和執(zhí)行許多業(yè)務(wù)處理的可靠的防故障機(jī)制。缺點(diǎn):MSMQ不適合于Client需要Server端實(shí)時(shí)交互情況.大量請(qǐng)求時(shí)候,響應(yīng)延遲.
優(yōu)點(diǎn)決定了它的松耦合的特性,消息隊(duì)列同樣是實(shí)現(xiàn)SOA面向?qū)ο蟮募軜?gòu)的方式之一.現(xiàn)在我們就來看看簡(jiǎn)單的MSMQ編程.要在.net平臺(tái)上進(jìn)行MSMQ的開發(fā),需要配置開發(fā)環(huán)境,安裝消息隊(duì)列,具體的安裝過程可以baidu,直接在安裝光盤里查找安裝windows組件,選擇消息隊(duì)列安裝即可.