EasyNetQ简单使用

class Program
{
    static void Main(string[] args)
    {
        //打开消息确认机制
        using (var bus = RabbitHutch.CreateBus("host=localhost;username=abc;password=123456;publisherConfirms=true;timeout=10",
            x =>
            {//记录日志
                x.Register<IEasyNetQLogger>(_ => new ConsoleLogger());
            }))
        {
            string input = string.Empty;
            Console.WriteLine("发送消息。输入“quit”退出程序。");
            while ((input = Console.ReadLine()) != "quit")
            {
                bus.PublishAsync(new TestPerformanceMessage
                {
                    Text = input
                }).ContinueWith(task=> 
                {
                    if (task.IsCompleted&&!task.IsFaulted)
                    {
                        Console.WriteLine("发送成功");
                    }
                    else
                    {
                        Console.WriteLine("发送失败-" + task.Exception);
                    }
                });
            }
        }
    }
}

class Program
{
    static void Main(string[] args)
    {
        using (var bus = RabbitHutch.CreateBus("host=localhost;username=abc;password=123456",
            x =>
            {//注册记录日志
                x.Register<IEasyNetQLogger>(_ => new ConsoleLogger());
            }))
        {
            bus.Subscribe<TestPerformanceMessage>("test", HandleTextMessage);

            Console.WriteLine("消息监听中...");
            Console.ReadLine();
        }
    }

    static void HandleTextMessage(TestPerformanceMessage msg)
    {
        Console.ForegroundColor = ConsoleColor.Green;
        Console.WriteLine("收到消息:{0}", msg.Text);
        Console.ResetColor();
    }
}

先发送3条消息

然后接收消息

 

posted @ 2017-12-21 15:35  zhyue93  阅读(492)  评论(1编辑  收藏  举报