码迷,mamicode.com
首页 > 其他好文 > 详细

MQ入门示例

时间:2017-01-28 18:52:19      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:factory   line   bytes   oid   res   new   asi   3.5   otn   

RabbitMQ使用

参考链接地址:http://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html

建立两个控制台程序,一个用于发送,一个用于接收,服务端用的是别人搭好的环境,暂时不管

通过NuGet获取需要引用的库输入RabbitMQ搜索即可,using RabbitMQ.Client;

发送端:

static void Main(string[] args)
        {
            var factory = new ConnectionFactory() { HostName = "XXX.33.55.XXX", Port = XXXX, UserName = "XXX", Password = "XXX" };
            using (var connection = factory.CreateConnection())
            using (var channel = connection.CreateModel())
            {
                channel.QueueDeclare(queue: "hello",
                                     durable: false,
                                     exclusive: false,
                                     autoDelete: false,
                                     arguments: null);

                string message = "Hello World!";
                var body = Encoding.UTF8.GetBytes(message);

                channel.BasicPublish(exchange: "",
                                     routingKey: "hello",
                                     basicProperties: null,
                                     body: body);
                Console.WriteLine(" [x] Sent {0}", message);
            }

            Console.WriteLine(" Press [enter] to exit.");
            Console.ReadLine();
        }

接收端:

static void Main(string[] args)
        {
            var factory = new ConnectionFactory() { HostName = "XXX.33.55.XXX", Port = XXXX, UserName = "XXX", Password = "XXX" };
            using (var connection = factory.CreateConnection())
            using (var channel = connection.CreateModel())
            {
                channel.QueueDeclare(queue: "hello",
                                     durable: false,
                                     exclusive: false,
                                     autoDelete: false,
                                     arguments: null);

                var consumer = new EventingBasicConsumer(channel);
                consumer.Received += (model, ea) =>
                {
                    var body = ea.Body;
                    var message = Encoding.UTF8.GetString(body);
                    Console.WriteLine(" [x] Received {0}", message);
                };
                channel.BasicConsume(queue: "hello",
                                     noAck: true,
                                     consumer: consumer);

                Console.WriteLine(" Press [enter] to exit.");
                Console.ReadLine();
            }
        }

 

MQ入门示例

标签:factory   line   bytes   oid   res   new   asi   3.5   otn   

原文地址:http://www.cnblogs.com/sulong/p/6354385.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!