今天這篇博文是我翻譯的RabbitMQ的最后一篇文章了,介紹一下RabbitMQ的C#開(kāi)發(fā)的接口。好了,言歸正傳吧。
Net/C# 客戶端 API簡(jiǎn)介
1、主要的命名空間,接口和類
定義核心的API的接口和類被定義在RabbitMQ.Client這個(gè)命名空間下面:
所以要想使用RabbitMQ的功能,需要以下代碼
using RabbitMQ.Client;
【1】、核心API的接口和類如下:
IModel:表示一個(gè)符合AMQP 0-9-1 協(xié)議的通道,并且提供了很多的操作方法
IConnection:表示一個(gè)符合AMQP 0-9-1協(xié)議的連接對(duì)象,用戶和RabbitMQ 服務(wù)端的連接
ConnectionFactory:可以創(chuàng)建一個(gè)IConnection對(duì)象的實(shí)例。
IBasicConsumer:表示一個(gè)消息的消費(fèi)者,或者是使用者。
【2】、其他有用的接口和類包含如下:
DefaultBasicConsumer:通常用作消費(fèi)者的基類,如果要編寫(xiě)自己的消費(fèi)者程序,可以從該類繼承。
【3】、除RabbitMQ.Client之外的公共命名空間包括:
RabbitMQ.Client.Events:作為客戶端庫(kù)一部分的各種事件和事件處理程序。
包括EventingBasicConsumer,一個(gè)基于C#事件處理程序構(gòu)建的消費(fèi)者實(shí)現(xiàn)。
RabbitMQ.Client.Exceptions: 對(duì)用戶可見(jiàn)的一些異常對(duì)象。
所有其他命名空間都保留用于庫(kù)的私有實(shí)現(xiàn)細(xì)節(jié),盡管私有命名空間的成員通??梢允褂迷搸?kù)的應(yīng)用程序使用,以便允許開(kāi)發(fā)人員實(shí)現(xiàn)其在庫(kù)實(shí)現(xiàn)中發(fā)現(xiàn)的故障或設(shè)計(jì)錯(cuò)誤的解決方法。 應(yīng)用程序不能依賴于在庫(kù)的版本中保持穩(wěn)定的私有命名空間中出現(xiàn)的任何類,接口,成員變量等。
2、創(chuàng)建到代理的連接
要連接到RabbitMQ,需要實(shí)例化一個(gè)ConnectionFactory并將其配置為使用所需的主機(jī)名,虛擬主機(jī)和憑據(jù)。 然后使用ConnectionFactory.CreateConnection()打開(kāi)一個(gè)連接。 以下兩個(gè)代碼片段連接到hostName上的RabbitMQ節(jié)點(diǎn):
ConnectionFactory factory = new ConnectionFactory(); // "guest"/"guest" by default, limited to localhost connections factory.UserName = user; factory.Password = pass; factory.VirtualHost = vhost; factory.HostName = hostName; IConnection conn = factory.CreateConnection(); ConnectionFactory factory = new ConnectionFactory(); factory.Uri = "am