forked from Alexey/DAS_2024_1
туториал 3
This commit is contained in:
parent
a830cb2198
commit
4c74a16753
3
.gitignore
vendored
3
.gitignore
vendored
@ -22,3 +22,6 @@
|
||||
/dozorova_alena_lab_4/Worker/.vs
|
||||
/dozorova_alena_lab_4/Worker/bin
|
||||
/dozorova_alena_lab_4/Worker/obj
|
||||
/dozorova_alena_lab_4/EmitLog/bin
|
||||
/dozorova_alena_lab_4/ReceiveLogs/.vs
|
||||
/dozorova_alena_lab_4/ReceiveLogs/bin
|
||||
|
@ -1,2 +1,31 @@
|
||||
// See https://aka.ms/new-console-template for more information
|
||||
Console.WriteLine("Hello, World!");
|
||||
using System.Text;
|
||||
using RabbitMQ.Client;
|
||||
using RabbitMQ.Client.Events;
|
||||
|
||||
var factory = new ConnectionFactory { HostName = "localhost" };
|
||||
using var connection = factory.CreateConnection();
|
||||
using var channel = connection.CreateModel();
|
||||
|
||||
channel.ExchangeDeclare(exchange: "logs", type: ExchangeType.Fanout);
|
||||
|
||||
// declare a server-named queue
|
||||
var queueName = channel.QueueDeclare().QueueName;
|
||||
channel.QueueBind(queue: queueName,
|
||||
exchange: "logs",
|
||||
routingKey: string.Empty);
|
||||
|
||||
Console.WriteLine(" [*] Waiting for logs.");
|
||||
|
||||
var consumer = new EventingBasicConsumer(channel);
|
||||
consumer.Received += (model, ea) =>
|
||||
{
|
||||
byte[] body = ea.Body.ToArray();
|
||||
var message = Encoding.UTF8.GetString(body);
|
||||
Console.WriteLine($" [x] {message}");
|
||||
};
|
||||
channel.BasicConsume(queue: queueName,
|
||||
autoAck: true,
|
||||
consumer: consumer);
|
||||
|
||||
Console.WriteLine(" Press [enter] to exit.");
|
||||
Console.ReadLine();
|
Loading…
Reference in New Issue
Block a user