今天这篇博文是我翻译的RabbitMQ的最后一篇文章了,介绍一下RabbitMQ的C#开发的接口。好了,言归正传吧。
Net/C# 客户端 API简介
1、主要的命名空间,接口和类
定义核心的API的接口和类被定义在RabbitMQ.Client这个命名空间下面:
所以要想使用RabbitMQ的功能,需要以下代码
using RabbitMQ.Client;
【1】、核心API的接口和类如下:
IModel:表示一个符合AMQP 0-9-1 协议的通道,并且提供了很多的操作方法
IConnection:表示一个符合AMQP 0-9-1协议的连接对象,用户和RabbitMQ 服务端的连接
ConnectionFactory:可以创建一个IConnection对象的实例。
IBasicConsumer:表示一个消息的消费者,或者是使用者。
【2】、其他有用的接口和类包含如下:
DefaultBasicConsumer:通常用作消费者的基类,如果要编写自己的消费者程序,可以从该类继承。
【3】、除RabbitMQ.Client之外的公共命名空间包括:
RabbitMQ.Client.Events:作为客户端库一部分的各种事件和事件处理程序。
包括EventingBasicConsumer,一个基于C#事件处理程序构建的消费者实现。
RabbitMQ.Client.Exceptions: 对用户可见的一些异常对象。
所有其他命名空间都保留用于库的私有实现细节,尽管私有命名空间的成员通常可以使用该库的应用程序使用,以便允许开发人员实现其在库实现中发现的故障或设计错误的解决方法。 应用程序不能依赖于在库的版本中保持稳定的私有命名空间中出现的任何类,接口,成员变量等。
2、创建到代理的连接
要连接到RabbitMQ,需要实例化一个ConnectionFactory并将其配置为使用所需的主机名,虚拟主机和凭据。 然后使用ConnectionFactory.CreateConnection()打开一个连接。 以下两个代码片段连接到hostName上的RabbitMQ节点:
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