Inheritance: IMessageTransaction
Example #1
0
        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);
        }
Example #2
0
        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;
        }