public MessageContext(object message, string id = null)
 {
     RabbitMQMessage = new RabbitMQMessage();
     SentTime        = DateTime.Now;
     Message         = message;
     if (!string.IsNullOrEmpty(id))
     {
         MessageId = id;
     }
     else if (message is IMessage)
     {
         MessageId = ((IMessage)message).Id;
     }
     else
     {
         MessageId = ObjectId.GenerateNewId().ToString();
     }
     ToBeSentMessageContexts = new List <IMessageContext>();
     if (message is IMessage iMessage)
     {
         Topic = iMessage.GetTopic();
         Tags  = iMessage.Tags;
     }
     MessageOffset = new MessageOffset();
 }
 public MessageContext(RabbitMQMessage rabbitMQMessage, MessageOffset deliveryTag)
 {
     RabbitMQMessage         = rabbitMQMessage;
     ToBeSentMessageContexts = new List <IMessageContext>();
     MessageOffset           = deliveryTag;
 }