|
在之前的兩篇文章中,主要介紹了RabbitMQ環(huán)境配置,簡(jiǎn)單示例的編寫。今天將會(huì)介紹如何使用WCF將RabbitMQ列隊(duì)以服務(wù)的方式進(jìn)行發(fā)布。
注:因?yàn)镽abbitMQ的官方.NET客戶端中包括了WCF的SAMPLE代碼演示,很適合初學(xué)者,所以我就偷了個(gè)懶,直接對(duì)照它的SAMPLE來說明了,算是借花獻(xiàn)佛吧,呵呵。首先我們下載相應(yīng)源碼(基于.NET 3.0),本文主要對(duì)該源碼包中的代碼進(jìn)行講解,鏈接如下:
Binary, compiled for .NET 3.0 and newer (zip) - includes example code, the WCF binding and WCF examples
當(dāng)然官方還提供了基本.NET 2.0 版本的示例版本,但其中只是一些簡(jiǎn)單的示例,并不包括WCF部分,這里只發(fā)個(gè)鏈接,感興趣的朋友可自行研究。
Binary, compiled for .NET 2.0 (zip) - includes example code
下載基于.NET 3.0的版本源碼之后,解壓其中的projects/examples/wcf目錄,可看到如下的項(xiàng)目: 幾個(gè)文件夾分別對(duì)應(yīng)如下應(yīng)用場(chǎng)景:
OneWay: 單向通信(無返回值)
TwoWay: 雙向通信(請(qǐng)求/響應(yīng))
Session:會(huì)話方式
Duplex: 雙向通信(可以指定一個(gè)Callback回調(diào)函數(shù))
OneWay
在OneWayTest示例中,演示了插入日志數(shù)據(jù),因?yàn)槿罩静僮饕话阒皇菃渭兊膶懭氩僮鳎豢紤]返回值,所以使用OneWay方式。下面是其WCF接口聲明和實(shí)例代碼,如下:

public interface ILogServiceContract
{
[OperationContract(IsOneWay=true)]
void Log(LogData entry);
}
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class LogService : ILogServiceContract
{
public int m_i;
public void Log(LogData entry)
{
Util.WriteLine(ConsoleColor.Magenta, " [SVC] {3} [{0,-6}] {1, 12}: {2}", entry.Level, entry.TimeStamp, entry.Message, m_i++);
}
}
NET技術(shù):NET下RabbitMQ實(shí)踐 [WCF發(fā)布篇],轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。