/// <summary> /// Sends a collection of new messages to an existing queue /// </summary> /// <param name="messages">The messages.</param> /// <returns></returns> public IQueueOutputMessages Send(List <QueueMessage <IMessage, IAdditionalMessageData> > messages) { IQueueOutputMessages result = null; if (_policy == null) { _policies.Registry.TryGet(_policies.Definition.SendMessage, out _policy); } if (_policy != null) { _policy.Execute(() => result = _handler.Send(messages)); } else //no policy found { result = _handler.Send(messages); } return(result); }
/// <summary> /// Sends a collection of new messages to an existing queue /// </summary> /// <param name="messages">The messages.</param> /// <returns></returns> public async Task <IQueueOutputMessages> SendAsync(List <QueueMessage <IMessage, IAdditionalMessageData> > messages) { IQueueOutputMessages result = null; if (_policyAsync == null) { _policies.Registry.TryGet(_policies.Definition.SendMessageAsync, out _policyAsync); } if (_policyAsync != null) { await _policyAsync.ExecuteAsync(async() => result = await _handler.SendAsync(messages).ConfigureAwait(false)).ConfigureAwait(false); } else //no policy found { result = await _handler.SendAsync(messages).ConfigureAwait(false); } return(result); }