二.封装RabbitMQ
------------恢复内容开始------------
在项目中通用项目中建了专属RabbitMQ的文件夹,因为用的类较多,所以单独建立一个大类来存放使用到的所有模型 
RabbitMQHelper类 主要包含三大部分:属性项,构造函数,操作方法
1.属性 主要用于配置消息队列的参数:虚拟主机,交换机名称,队列名称

2.构造函数 构造函数主要用于对配置项进行赋值以及服务器地址进行配置

3,操作方法
1.发送消息(默认使用Direct模式) 入参为通用:MessageModel类 返回通用ResultModel类

2.接收消息 接收消息和处理消息封装在一起,所以入参就用委托指定处理方法,以及错误后的处理,在此简化为自动重试5次,达到指定次数后就调用委托action

RabbitMQModel代码如下:
/// <summary> /// 消息队列使用的类 /// </summary> public class RabbitMQModel { #region 返回数据--队列获取的数据 public class ResultModel { /// <summary> /// 是否成功 /// </summary> public bool Success { get; set; } /// <summary> /// 返回消息 /// </summary> public string Message { get; set; } } public class ResultModel<T> { /// <summary> /// 是否成功 /// </summary> public bool Success { get; set; } /// <summary> /// 返回消息 /// </summary> public string Message { get; set; } /// <summary> /// 具体返回信息 /// </summary> public T Content { get; set; } } #endregion #region 发送数据--放进队列的数据 /// <summary> /// 放入队列的数据 /// </summary> /// <typeparam name="T"></typeparam> public class MessageModel<T> { /// <summary> /// 数据类型 /// 不同的type 对应不同的处理 /// </summary> public int DataType { get; set; } /// <summary> /// 错误次数 达到最大次数后不再重试 /// </summary> public int ErrorCount { get; set; } = 0; public T Content { get; set; } /// <summary> /// 创建时间 /// </summary> public DateTime CreateTime { get { return DateTime.Now; } } } #endregion }
封装类调用:
发送消息:

接收消息:


------------恢复内容结束------------
posted on 2022-01-17 15:43 zzzzZzzttt 阅读(507) 评论(0) 收藏 举报
浙公网安备 33010602011771号