C#, RabbitMQ как обработанное сообщение отправить назад

Вот мой producer

public class RabbitMQProducerService: IMessageSender
    {
        public void SendMessage<T>(T message)
        {
            var factory = new ConnectionFactory { HostName = "localhost" };
            var connection = factory.CreateConnection();

            var channel = connection.CreateModel(); 
            channel.QueueDeclare("Input", exclusive: false);

            var json = JsonConvert.SerializeObject(message);
            var body = Encoding.UTF8.GetBytes(json);
            channel.BasicPublish(exchange: "", routingKey: "Input", basicProperties: null, body: body);
        }
    }

И мой subscriber

string exepction = "";
StatisticOfTest statistic;

var factory = new ConnectionFactory
{
    HostName = "localhost"
};
var connection = factory.CreateConnection();
using var channel = connection.CreateModel();
channel.QueueDeclare("Input", exclusive: false);

var consumer = new EventingBasicConsumer(channel);
consumer.Received += (model, eventArgs) =>
{
    SolutionService solution = new SolutionService();
    var body = eventArgs.Body.ToArray();
    var jsonStr = Encoding.UTF8.GetString(body);
    SolutionAddModel solutionAdd = JsonConvert.DeserializeObject<SolutionAddModel>(jsonStr);
    
    if (String.IsNullOrEmpty(solution.Validating(solutionAdd)))
    {
        statistic = solution.Create(solutionAdd); //Нужно вернуть statistic
    }
    else
    {
        exepction = solution.Validating(solutionAdd); // Или Exception
    }
    Console.WriteLine($"Message received: {jsonStr}");
};
channel.BasicConsume(queue: "Input", autoAck: true, consumer: consumer);
Console.ReadKey();

Исходя от результата, хочу вернуть statistic или exception. Но в другую очередь, например в какой-нибудь Output очередь


Ответы (0 шт):