Esempio n. 1
0
        /// <summary>
        /// rabbitmq发送消息
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="queueName"></param>
        /// <param name="msg"></param>
        /// <param name="exchangeName"></param>
        /// <param name="routeKey"></param>
        /// <param name="durable"></param>
        /// <returns></returns>
        public bool sendMsg(IConnection conn, string queueName, string msg, string exchangeName, string exchangeType, string routeKey, bool durable = true)
        {
            bool sflag = true;

            try
            {
                RabbitMQServices rabbitMQServices = RabbitMQServices.GetInstance();

                using (var channel = conn.CreateModel())
                {
                    //1交换机,交换机类型
                    channel.ExchangeDeclare(exchangeName, exchangeType);

                    //队列名称,是否持久化
                    channel.QueueDeclare(queueName, durable);
                    //转换成byte数组
                    var sendBytes = Encoding.UTF8.GetBytes(msg);
                    //设置持久化参数
                    var properties = channel.CreateBasicProperties();
                    properties.DeliveryMode = 2;//1表示不持久,2表示持久化
                    if (!durable)
                    {
                        properties = null;
                    }
                    //发送消息:交换机名称,路由,持久化参数,消息内容
                    channel.BasicPublish(exchangeName, routeKey, properties, sendBytes);
                }
            }
            catch (Exception)
            {
                sflag = true;
                throw;
            }
            return(sflag);
        }
Esempio n. 2
0
 public RabbitMQServices()
 {
     rabbitServicesSingleton = new RabbitMQServices();
 }