public async Task <IMessageTransaction> Receive(TimeSpan?timeout = null) { var inputQueue = await this.inputQueue.Value; var queueMessage = await this.GetMessageWithTimeout(inputQueue, timeout ?? TimeSpan.FromSeconds(60)); if (queueMessage == null) { return(null); } var message = BuildMessage(queueMessage); var transaction = new QueueMessageTransaction( message, queueMessage.DequeueCount - 1, () => inputQueue.DeleteMessageAsync(queueMessage), () => inputQueue.UpdateMessageAsync(queueMessage, TimeSpan.Zero, MessageUpdateFields.Visibility)); return(transaction); }
public async Task<IMessageTransaction> Receive(TimeSpan? timeout = null) { var inputQueue = await this.inputQueue.Value; var queueMessage = await this.GetMessageWithTimeout(inputQueue, timeout ?? TimeSpan.FromSeconds(60)); if (queueMessage == null) { return null; } var message = BuildMessage(queueMessage); var transaction = new QueueMessageTransaction( message, queueMessage.DequeueCount - 1, () => inputQueue.DeleteMessageAsync(queueMessage), () => inputQueue.UpdateMessageAsync(queueMessage, TimeSpan.Zero, MessageUpdateFields.Visibility)); return transaction; }