コード例 #1
0
        public async Task <IActionResult> PostRequest([FromBody] Request request)
        {
            _context.Request.Add(request);
            await _context.SaveChangesAsync();

            await Logger(request);



            var factory = new ConnectionFactory()
            {
                HostName = "localhost"
            };

            using (var connection = factory.CreateConnection())
                using (var channel = connection.CreateModel())
                {
                    channel.QueueDeclare(queue: "RequestQueue",
                                         durable: false,
                                         exclusive: false,
                                         autoDelete: false,
                                         arguments: null);

                    byte[] body = Encoding.Default.GetBytes(JsonConvert.SerializeObject(request));

                    channel.BasicPublish(exchange: "",
                                         routingKey: "RequestQueue",
                                         basicProperties: null,
                                         body: body);

                    return(Ok(request));
                }
        }