private async Task OnMessageAsync(BrokeredMessage message)
{
try
{
if (message == null)
{
return;
}
if (receiverBrokeredMessageInspector != null)
{
message = receiverBrokeredMessageInspector.AfterReceiveMessage(message);
}
if (logging)
{
var builder = new StringBuilder(string.Format(MessageSuccessfullyReceived,
string.IsNullOrWhiteSpace(message.MessageId)
? NullValue
: message.MessageId,
string.IsNullOrWhiteSpace(message.SessionId)
? NullValue
: message.SessionId,
string.IsNullOrWhiteSpace(message.Label)
? NullValue
: message.Label,
message.Size));
if (verbose)
{
serviceBusHelper.GetMessageAndProperties(builder, message, encoder);
}
writeToLog(builder.ToString());
}
if (tracking)
{
Invoke(new Action(() => messageBindingList.Add(message.Clone())));
//Invoke(new Action(() => messageCollection.Add(message)));
}
UpdateStatistics(1, GetElapsedTime(), message.Size);
if (receiveMode == ReceiveMode.PeekLock && !autoComplete)
{
await message.CompleteAsync();
}
}
catch (Exception ex)
{
HandleException(ex);
}
}