負(fù)載均衡是什么意思 如何應(yīng)用.NET中的消息隊(duì)列服務(wù)?
如何應(yīng)用.NET中的消息隊(duì)列服務(wù)?建立隊(duì)列是應(yīng)用MSMQ的第一步。您可以通過(guò)windows計(jì)算機(jī)管理控制臺(tái)中的消息隊(duì)列選項(xiàng)完成此操作,也可以通過(guò)編程設(shè)置隊(duì)列。清單a中的C代碼創(chuàng)建一個(gè)新的私有MSMQ消
如何應(yīng)用.NET中的消息隊(duì)列服務(wù)?
建立隊(duì)列是應(yīng)用MSMQ的第一步。您可以通過(guò)windows計(jì)算機(jī)管理控制臺(tái)中的消息隊(duì)列選項(xiàng)完成此操作,也可以通過(guò)編程設(shè)置隊(duì)列。清單a中的C代碼創(chuàng)建一個(gè)新的私有MSMQ消息隊(duì)列(如果沒有隊(duì)列),并同時(shí)創(chuàng)建一條消息。代碼應(yīng)用消息隊(duì)列類的exists方法來(lái)確定是否存在名為TechRepublic的私有隊(duì)列。如果是這樣,它將用現(xiàn)有隊(duì)列實(shí)例化消息隊(duì)列對(duì)象。否則,它將創(chuàng)建一個(gè)新隊(duì)列。新消息對(duì)象用于向隊(duì)列發(fā)送消息。它的label屬性指定要在MSMQ控制臺(tái)中顯示的消息標(biāo)題,其正文包含存儲(chǔ)在隊(duì)列中的項(xiàng)的內(nèi)容。在這種情況下,我只發(fā)送文本,但您可以使用任何類型的對(duì)象。messagequeue類的send方法將消息發(fā)送到隊(duì)列。清單B中的VB.NET版代碼。下一步是從隊(duì)列中讀取消息。這是一個(gè)簡(jiǎn)單的過(guò)程??梢允褂孟㈥?duì)列類的receive方法。如果隊(duì)列中有消息,receive方法將返回消息對(duì)象。否則,它將等待消息出現(xiàn)(您可以設(shè)置一個(gè)時(shí)間段)。從隊(duì)列中恢復(fù)對(duì)象需要事先知道其類型。消息隊(duì)列類的formatter屬性允許您輕松指定恢復(fù)對(duì)象的類型。下面的簡(jiǎn)單示例僅使用文本,因此適用于系統(tǒng)字符串. 在清單C中,C代碼從測(cè)試隊(duì)列中讀取消息。提交給receive方法的timespan對(duì)象指定發(fā)生異常時(shí)系統(tǒng)的等待時(shí)間。接下來(lái),在本例中設(shè)置formatter方法,然后將對(duì)象轉(zhuǎn)換為字符串以讀取先前存儲(chǔ)的文本。receive方法從隊(duì)列中讀取消息,其值顯示在控制臺(tái)中。在try塊的末尾,隊(duì)列關(guān)閉。易于使用的消息MSMQ結(jié)合windows和。凈額系統(tǒng)消息傳遞命名空間,這使您可以輕松地利用中的消息。Net應(yīng)用程序。消息提供了一個(gè)強(qiáng)大的工具,可以在企業(yè)應(yīng)用程序中異步發(fā)送和接收消息(數(shù)據(jù))。