二.封装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

    }

    封装类调用:

      发送消息:

      接收消息:

       

      

      

               

 

------------恢复内容结束------------