二.封装RabbitMQ
------------恢复内容开始------------
在项目中通用项目中建了专属RabbitMQ的文件夹,因为用的类较多,所以单独建立一个大类来存放使用到的所有模型
RabbitMQHelper类 主要包含三大部分:属性项,构造函数,操作方法
1.属性 主要用于配置消息队列的参数:虚拟主机,交换机名称,队列名称
2.构造函数 构造函数主要用于对配置项进行赋值以及服务器地址进行配置
3,操作方法
1.发送消息(默认使用Direct模式) 入参为通用:MessageModel类 返回通用ResultModel类
2.接收消息 接收消息和处理消息封装在一起,所以入参就用委托指定处理方法,以及错误后的处理,在此简化为自动重试5次,达到指定次数后就调用委托action
RabbitMQModel代码如下:
////// 消息队列使用的类 /// public class RabbitMQModel { #region 返回数据--队列获取的数据 public class ResultModel { /// /// 是否成功 /// public bool Success { get; set; } /// /// 返回消息 /// public string Message { get; set; } } public class ResultModel { /// /// 是否成功 /// public bool Success { get; set; } /// /// 返回消息 /// public string Message { get; set; } /// /// 具体返回信息 /// public T Content { get; set; } } #endregion #region 发送数据--放进队列的数据 /// /// 放入队列的数据 /// /// public class MessageModel { /// /// 数据类型 /// 不同的type 对应不同的处理 /// public int DataType { get; set; } /// /// 错误次数 达到最大次数后不再重试 /// public int ErrorCount { get; set; } = 0; public T Content { get; set; } /// /// 创建时间 /// public DateTime CreateTime { get { return DateTime.Now; } } } #endregion }
封装类调用:
发送消息:
接收消息:
------------恢复内容结束------------