/
Program.cs
49 lines (45 loc) · 1.63 KB
/
Program.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
using RabbitMQ.Client;
using RabbitMQ.Client.Events;
using System;
using System.Text;
namespace MessageRecipient
{
class Program
{
/// <summary>
/// 消息消费者(后台处理方法)
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
Console.WriteLine("Start Send Msg");
//创建连接工厂
ConnectionFactory factory = new ConnectionFactory
{
UserName = "guest",
Password = "guest",
HostName = "localhost"
};
//创建连接
var connection = factory.CreateConnection();
//创建通道
var channel = connection.CreateModel();
//接收到的消息处理事件
EventingBasicConsumer Recipient = new EventingBasicConsumer(channel);
Recipient.Received += (ch, ea) =>
{
var RecipientMsg = Encoding.UTF8.GetString(ea.Body.ToArray());
Console.WriteLine($"后台处理方法收到消息:{RecipientMsg}");
//确认该消息已被处理
channel.BasicAck(ea.DeliveryTag, false);
Console.WriteLine($"消息已经处理【{ea.DeliveryTag}】");
};
//channel.BasicConsume("QT.UAT.Wathet.ExternalAPI.Visit", false, Recipient);
channel.BasicConsume("Wathet.Park.PV", false, Recipient);
Console.WriteLine("后台处理方法已启动");
Console.ReadKey();
channel.Dispose();
connection.Close();
}
}
}