.NET RabbitMQ 原生公共类

使用

   RabbitMQClient client = new RabbitMQClient(new RabbitMQOption
                        {
                            ClientName = "SPRule",
                            RabbitHost = _readConfiguration["RabbitHost"],
                            RabbitUserName = _readConfiguration["RabbitUserName"],
                            RabbitPassword = _readConfiguration["RabbitPassword"],
                            RabbitPort = int.Parse(_readConfiguration["RabbitPort"]),
                            VirtualHost = _readConfiguration["RabbitVirtualHost"]
                        });
                        client.BasicPublish("", queryName, _jSON.Serialize(reqMQ));
                       

RabbitMQClient类封装

 public class RabbitMQClient
    {

        private readonly IModel _channel;

        public RabbitMQClient(RabbitMQOption options)
        {
            try
            {
                var factory = new ConnectionFactory()
                {
                    HostName = options.RabbitHost,
                    Port = options.RabbitPort,
                    VirtualHost = options.VirtualHost,
                    UserName = options.RabbitUserName,
                    Password = options.RabbitPassword,
                };
                var connection = factory.CreateConnection("SPRule");
                _channel = connection.CreateModel();
            }
            catch (Exception ex)
            {
                throw;
                //_logger.Error(ex, "RabbitMQClient初始化失败");
            }
        }

        public virtual void BasicPublish(string exchange, string queueName, object message)
        {
            try
            {
                string msgJson = JsonConvert.SerializeObject(message);
                var body = Encoding.UTF8.GetBytes(msgJson);
                _channel.BasicPublish(exchange: exchange,
                                        routingKey: queueName,
                                        basicProperties: null,
                                        body: body);
            }
            catch (Exception ex)
            {
                throw;
                //_logger.Error(ex, "RabbitMQClient.BasicPublish失败");
            }
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值