public static EnvioMensagem CriarMsg() { EnvioMensagem msg = new EnvioMensagem(); Random randNum = new Random(); msg.Id = randNum.Next(1000); msg.IdMS = "MicroServico de envio de Mensagens"; msg.Mensagem = "Hello World"; msg.HoraEnvio = DateTime.Now.ToString(); return(msg); }
//Ler a mensagem à partir de um Json public IActionResult LerMsg(EnvioMensagem msg) { try { //Utilizado RabbitMQ para serviço de mensageria var factory = new ConnectionFactory() { HostName = "localhost" }; using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) { channel.QueueDeclare(queue: "MensagemQueue", durable: false, exclusive: false, autoDelete: false, arguments: null); string message = JsonSerializer.Serialize(msg); var body = Encoding.UTF8.GetBytes(message); channel.BasicPublish(exchange: "", routingKey: "MensagemQueue", basicProperties: null, body: body); Console.WriteLine(" [x] Enviado {0}", message); } return(Accepted(msg)); } catch (Exception ex) { _logger.LogError("Erro ao criar/enviar mensagem: ", ex); return(new StatusCodeResult(500)); } }