コード例 #1
0
 public Task <AsyncExecutedResult> PublishAsync(IMessage message)
 {
     return(queueProducer.ProduceAsync(subscriptionManager.GetQueueTopic(message), objectSerializer.Serialize(new QueueMessage
     {
         Content = objectSerializer.Serialize(message),
         Tag = message.GetTag()
     })));
 }
コード例 #2
0
        public Task <AsyncExecutedResult> PublishStreamAsync(EventStream stream)
        {
            var events = new Dictionary <string, string>();

            foreach (var e in stream.Events)
            {
                events.Add(e.GetTag(), objectSerializer.Serialize(e));
            }

            return(queueProducer.ProduceAsync(
                       subscriptionManager.GetQueueTopic(stream.Events.First()),
                       objectSerializer.Serialize(new EventStreamMessage
            {
                AggregateRootId = stream.AggregateRootId,
                AggregateRootTypeName = stream.AggregateRootTypeName,
                CommandId = stream.CommandId,
                Events = events,
                Id = stream.Id,
                Timestamp = stream.Timestamp,
                Version = stream.Version
            })));
        }