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