示例#1
0
        public static string OfMessageByTopic(Message message)
        {
            Guard.Instance
                .ArgumentNotNull(() => message, message)
                .ArgumentNotNull(() => message.Id, message.Id);

            return OfMessageByTopic(message.TopicId, message.Id.Value);
        }
示例#2
0
        public static string LinkToMessage(Message message)
        {
            Guard.Instance.ArgumentNotNull(() => message, message)
                .ArgumentNotNull(() => message.Id, message.Id)
                .ArgumentNotNull(() => message.TopicId, message.TopicId);

            return LinkToMessage(message.TopicId, message.Id.Value);
        }
示例#3
0
        public static Message ToMessage(this BsonDocument doc)
        {
            if (doc == null) return null;

            var message = new Message
                              {
                                  Id = doc[MongoDbMessageRepository.FieldNames.Id].ToString(),
                                  Payload = doc[MongoDbMessageRepository.FieldNames.Payload].AsByteArray,
                                  UtcReceivedOn = doc[MongoDbMessageRepository.FieldNames.ReceivedOn].AsDateTime,
                                  TopicId = doc[MongoDbMessageRepository.FieldNames.TopicRef].AsBsonDocument["$id"].AsObjectId.ToString(),
                                  Headers = doc[MongoDbMessageRepository.FieldNames.Headers].AsBsonDocument.ToHeaders(),
                                  PromotedProperties = doc[MongoDbMessageRepository.FieldNames.PromotedProperties].AsBsonDocument.ToPromotedProperties()
                              };
            return message;
        }
示例#4
0
文件: Retry.cs 项目: ashic/Hermes
 public Retry(Message message, Subscription subscription)
 {
     Message = message;
     Subscription = subscription;
 }