C# RabbitMq帮助类 UtilsSharp.RabbitMq .net Core 3.1使用RabbitMq 快速搭建RabbitMq项目 RabbitMq 公共类standard版

最近花了一些时间封装了基于RabbitMq.Client5.2.0的RabbitMq帮助类UtilsSharp.RabbitMq,执行了下效果还是不错的,现在分享给大家,RabbitMq的基础知识这边就不赘述了,百度一下还是挺多的。下面以一个案例来简述下怎么使用UtilsSharp.RabbitMq,一般队列都是包括生产者和消费者的,所以今天就主要跟大家分享下这两块的代码:

1.首先第一步就是Nuget搜索:UtilsSharp.RabbitMq,下载最新版本的:

2.生产者:

 /// <summary>
 /// 执行生产者
 /// </summary>
 public void Execute()
 {
    //连接串,这个可以配置到全局
    RabbitMqHelperConfig.RabbitMqConfig = new RabbitMqConfig
    {
      RabbitMqConnection = "amqp://连接串"
    };
    //创建对象
    var rabbitMqHelper = new RabbitMqHelper();
    //定义交换机名称
    var exchangeName = "Occ.Order.Exchange";
    //定义路由
    var routingKey = "Occ.Order.RoutingKey";
    //定义队列名称
    var queueName = "Occ.Order.Queue";

    //申明交换机
    rabbitMqHelper.ExchangeDeclare(exchangeName);
    //申明队列
    rabbitMqHelper.QueueDeclare(queueName);
    //绑定
    rabbitMqHelper.QueueBind(queueName, exchangeName, routingKey);
    
    //发布消息到队列
    rabbitMqHelper.Send(exchangeName, routingKey, "消息");
}

3.消费者:

 /// <summary>
 /// 执行消费者
 /// </summary>
 public void Execute()
 {
    //连接串,这个可以配置到全局
    RabbitMqHelperConfig.RabbitMqConfig = new RabbitMqConfig
    {
      RabbitMqConnection = "amqp://连接串"
    };
    //创建对象
    var rabbitMqHelper = new RabbitMqHelper();
    //定义交换机名称
    var exchangeName = "Occ.Order.Exchange";
    //定义路由
    var routingKey = "Occ.Order.RoutingKey";
    //定义队列名称
    var queueName = "Occ.Order.Queue";

    //申明交换机
    rabbitMqHelper.ExchangeDeclare(exchangeName);
    //申明队列
    rabbitMqHelper.QueueDeclare(queueName);
    //绑定
    rabbitMqHelper.QueueBind(queueName, exchangeName, routingKey);
    
    //要开启的消费者数量
    var consumerCount = 50;
    //每个消费者每次获取到的消息数量
    var consumerHandleCount= 100;

    for (var i = 0; i < consumerCount; i++)
    {
      rabbitMqHelper.BatchReceived(queueName, ReceiveCallBack, consumerHandleCount);
    }
 }

  /// <summary>
  /// 消费者委托
  /// </summary>
  /// <param name="contents">拉取到的内容</param>
  public void ReceiveCallBack(List<string> contents)
  {
  
      //contents 是从队列里面每次拿到的消息集合,每次的数量由上面配置的consumerHandleCount决定
      //这边主要是执行业务代码:把拉取到的消息进行处理     
  }

 

以上就UtilsSharp.RabbitMq的简单使用,大家试试吧!上面的消费者采用的是批量获取的模式,大家也可以试试单条获取的模式。单条的是调用这个方法:rabbitMqHelper.Received(xxx,xxx,xxx);

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值