Починил IMqService

This commit is contained in:
Mikhail Trubnikov
2023-09-26 11:01:20 +10:00
parent b915a7d8ac
commit 3d9777b7ec
7 changed files with 22 additions and 39 deletions

View File

@@ -8,6 +8,7 @@ using System.Text;
namespace PARR.BLL.Services.Implementations
{
internal class MqService : IMqService
{
private readonly ILogger<MqService> logger;
@@ -15,8 +16,6 @@ namespace PARR.BLL.Services.Implementations
private IConnection? connection;
private IModel? channel;
public event ReceivedHandler? Received;
public MqService(ILogger<MqService> logger)
{
this.logger = logger;
@@ -90,8 +89,7 @@ namespace PARR.BLL.Services.Implementations
}
}
public bool InitConsumer(IMqSettings mqSettings)
public bool InitConsumer(IMqSettings mqSettings, MqMessageHandlerDelegate messageHandler)
{
logger.LogInformation($"Устанавливаю соединение с RabbitMQ: {mqSettings.HostName}, {mqSettings.QueueName}");
@@ -131,14 +129,13 @@ namespace PARR.BLL.Services.Implementations
var content = Encoding.UTF8.GetString(ea.Body.ToArray());
logger.LogDebug($"Получено сообщение: {content}");
//https://metanit.com/sharp/tutorial/3.14.php
Received?.Invoke(content);
await messageHandler.Invoke(content);
channel.BasicAck(ea.DeliveryTag, false);
await Task.Yield();
};
channel.BasicConsume(mqSettings.QueueName, false, consumer);
string consumerTag = channel.BasicConsume(mqSettings.QueueName, false, consumer);
return true;