public async Task MoveToQueue(RawQueueMessage rawQueueMessage) { if (rawQueueMessage == null) { throw new ArgumentNullException(nameof(rawQueueMessage)); } await SemaphoreSlim.WaitAsync(); try { await PostMessage(rawQueueMessage.Body, _queueName, true); await _client.Messages4Async( _deadLetterQueueName, rawQueueMessage.Id, _token, new DeleteMessageRequest { Reservation_id = rawQueueMessage.ReservationId }); } finally { SemaphoreSlim.Release(); } }
public async Task ReleaseMessage(RawQueueMessage rawQueueMessage) { if (rawQueueMessage == null) { throw new ArgumentNullException(nameof(rawQueueMessage)); } await SemaphoreSlim.WaitAsync(); try { await _client.ReleaseAsync( _queueName, rawQueueMessage.Id, _token, new ReleaseMessageRequest { Reservation_id = rawQueueMessage.ReservationId }); } finally { SemaphoreSlim.Release(); } }