顺便问一下,您如何创建 STREAM?
我直接使用 AppendToStreamAsync,这是对的还是我应该先创建一个流然后附加到这个流上?
我也尝试执行一些测试,但使用下面的方法我可以将事件写入 EventStore 但不能从中读取事件。
最重要的问题是如何在 EventStore 的管理站点中查看我的保存事件?
这是代码:
    public async Task AppendEventAsync(IEvent @event)
    {
        try
        {
            var eventData = new EventData(@event.EventId, 
                @event.GetType().AssemblyQualifiedName, 
                true, 
                Serializer.Serialize(@event), 
                Encoding.UTF8.GetBytes("{}"));
            var writeResult = await connection.AppendToStreamAsync(
                   @event.SourceId.ToString(),
                   @event.AggregateVersion,
                   eventData);
            Console.WriteLine(writeResult);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
        }
    }
    public async Task<IEnumerable<IEvent>> ReadEventsAsync(Guid aggregateId)
    {
        var ret = new List<IEvent>();
        StreamEventsSlice currentSlice;
        long nextSliceStart = StreamPosition.Start;
        do
        {
            currentSlice = await connection.ReadStreamEventsForwardAsync(aggregateId.ToString(), nextSliceStart, 200, false);
            if (currentSlice.Status != SliceReadStatus.Success)
            {
                throw new Exception($"Aggregate {aggregateId} not found");
            }
            nextSliceStart = currentSlice.NextEventNumber;
            foreach (var resolvedEvent in currentSlice.Events)
            {
                ret.Add(Serializer.Deserialize(resolvedEvent.Event.EventType, resolvedEvent.Event.Data));
            }
        } while (!currentSlice.IsEndOfStream);
        return ret;
    }
    