protected override async Task ExecuteAsync(CancellationToken stoppingToken) { stoppingToken.ThrowIfCancellationRequested(); var consumer = new AsyncEventingBasicConsumer(_channel); consumer.Received += async(bc, ea) => { _logger.LogInformation($"Auditing msg# '{ea.BasicProperties.MessageId}'."); try { await _messagesService.Create(ParseMessage(ea)); _channel.BasicAck(ea.DeliveryTag, false); } catch (AlreadyClosedException) { _logger.LogInformation("RabbitMQ is closed!"); } catch (Exception e) { _logger.LogError(default, e, e.Message);
public async Task <ActionResult> Create(int userId, MessageCreationRequest request) { var message = await _serv.Create(userId, request); return(CreatedAtRoute("GetMessage", new { userId, id = message.Id }, message)); }
public ActionResult <Message> Create([FromBody] MessagesCreateBindingModel message) { var addedMessage = service.Create(message.Content, message.Username).GetAwaiter().GetResult(); return(addedMessage); }