NServiceBus.NoTransactionStrategy.ReceiveMessage C# (CSharp) Method

ReceiveMessage() public method

public ReceiveMessage ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task
        public override async Task ReceiveMessage()
        {
            Message message;

            if (!TryReceive(MessageQueueTransactionType.None, out message))
            {
                return;
            }

            Dictionary<string, string> headers;

            if (!TryExtractHeaders(message, out headers))
            {
                MovePoisonMessageToErrorQueue(message, IsQueuesTransactional ? MessageQueueTransactionType.Single : MessageQueueTransactionType.None);
                return;
            }

            var transportTransaction = new TransportTransaction();

            using (var bodyStream = message.BodyStream)
            {
                try
                {
                    await TryProcessMessage(message.Id, headers, bodyStream, transportTransaction).ConfigureAwait(false);
                }
                catch (Exception exception)
                {
                    message.BodyStream.Position = 0;

                    await HandleError(message, headers, exception, transportTransaction, 1).ConfigureAwait(false);
                }
            }
        }
    }
NoTransactionStrategy