DotNetWorkQueue.Transport.Redis.Basic.RedisQueueSend.Send C# (CSharp) Method

Send() public method

Sends the specified message.
An error occurred while sending a message
public Send ( IMessage messageToSend, IAdditionalMessageData data ) : IQueueOutputMessage
messageToSend IMessage The message to send.
data IAdditionalMessageData The data.
return IQueueOutputMessage
        public IQueueOutputMessage Send(IMessage messageToSend, IAdditionalMessageData data)
        {
            try
            {
                //TODO - temp - fail all messages with routes, as they are not supported yet
                if (!string.IsNullOrEmpty(data.Route))
                {
                    throw new NotImplementedException("Redis transport does not yet support routes");
                }

                //correlationID must be stored as a message header
                messageToSend.SetHeader(_headers.CorelationId, new RedisQueueCorrelationIdSerialized((Guid)data.CorrelationId.Id.Value));

                var messageId = _sendMessage.Handle(new SendMessageCommand(messageToSend, data));
                if (messageId == "JobAlreadyExists")
                {
                    return new QueueOutputMessage(_sentMessageFactory.Create(null, data.CorrelationId), new DotNetWorkQueueException("Failed to enqueue a record. The job already exists"));
                }
                return new QueueOutputMessage(_sentMessageFactory.Create(new RedisQueueId(messageId), data.CorrelationId));
            }
            catch (Exception exception)
            {
                return new QueueOutputMessage(_sentMessageFactory.Create(null, data.CorrelationId), exception);
            }
        }

Same methods

RedisQueueSend::Send ( IAdditionalMessageData>.List messages ) : IQueueOutputMessages