- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
顺便说一句,你如何创建一个流?
I use AppendToStreamAsync directly, is this right or shall I create a stream first then append onto this stream?
I also tried performing some tests but using the methods below I can write events onto EventStore but can't read Events from it.
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;
}
最佳答案
流是在您编写事件时自动创建的。您应该遵循推荐的命名约定,因为它启用了一些开箱即用的功能。
await Connection.AppendToStreamAsync("CustomerAggregate-b2c28cc1-2880-4924-b68f-d85cf24389ba", expectedVersion, creds, eventData);
CustomerAggregate-b2c28cc1-2880-4924-b68f-d85cf24389ba
The first events ID becomes the "aggregateID" in our case and then each new eventID after that is unique. The only way to recreate our aggregate is to replay the events in sequence. If the sequence fails an exception is thrown
CustomerAggregate
我们订阅了
$ce-CustomerAggregate
事件 - 我们只会看到那些“类别”,而不管它们的 ID 是什么 - 事件数据包含我们之后需要的所有内容。
$ce-CustomerAggregate
一起使用的持久订阅者(小型 C# 控制台应用程序) .持久订阅者很棒,因为他们记得您的客户确认的最后一个事件。因此,如果应用程序崩溃,您可以启动它,并从应用程序完成的最后一个位置开始。
关于eventstoredb - 我可以在 EventStore 管理站点的哪个位置查看我的保存事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52020412/
我正在使用 EventKit 的 EKEventStore,我想模拟它和 EKEvent。但是我不知道如何正确抽象EKEvent's init(eventStore: EKEventStore) 和其
我在我的应用程序中使用 EventStore,目前想部署在我们的一个产品环境中。当我在我的电脑上开发时,EventStore 启动时没有任何问题。当我想在我们的产品服务器上启动它时,问题就来了。 Ev
我正在尝试评估 EventStore就像服务器软件内部的可靠排队机制一样。 MSMQ 作为替代方案失败了,因为它不能支持部分排序,消息“对话”中的有序消息。并且由于它的 4MB 消息大小限制(可以
我已经开始在 .Net 中创建一个测试应用程序,它使用 Greg Young 的 EventStore 作为 CQRS/ES 的后备存储。 为了方便加载完整的聚合,我保存到一个名为“agg-123”的
我想问问您的意见,以及您认为使用 ElasticSearch 作为 EventStore 的利弊。 我想听听是否有人有使用 ElasticSearch 作为事件存储的经验,以及结果、可靠性以及是否存在
我已经关注 Event Store 一段时间了,困扰我的一件事是何时应该考虑编写投影?创建扁平投影是常见的做法吗? The setup here is using a stream per aggre
对于我的罪过,我负责存储个人身份信息和可能受 HIPAA 保护的数据的数据库。 因此,这些数据在传输过程中和静止时都需要加密存储。 我们目前使用 MSSQL Enterprise 和 TDE。 我们正
我们正在使用 axon 框架版本 3.4.2,并在我们的代码中发现了一个错误。该错误与未发布的缺失事件有关。解决方案是修复代码,但这不会修复事件存储和 View 。 我的问题是如何解决这个问题?我们考
我在看 2 个场景:A 没问题,B 不确定。 场景A:模拟提交后、分派(dispatch)前的应用程序重启 启动EventStore 提交更改 事件未发送 停止事件商店 启动事件存储 在第 5 步中再
如果我想根据存储在 ES 中的所有历史事件填充新的 Viewmodel,我该怎么做? 我可以看到 IPersistStreams.GetFrom(DateTime)但是一口气把它们全部搞定似乎有点吓人
任何人都可以解释为什么 EventStore 有 2 个实际版本(20.6.1 和 5.0.9)? 它们之间有什么区别? 我们应该为什么目标使用什么版本? 最佳答案 20.x 和 5.x 之间的主要区
也许这个问题很愚蠢,但我有点困惑。 假设我们想要利用这种模式: 企业应用程序中的事件存储范围究竟是什么? 事件存储是在多个进程之间共享,还是只是一个进程内概念? 当应用程序关闭时,事件会发生什么?它们
使用 JOliver EventStore 3.0 并从 NServiceBus 接收命令,处理并发异常的正确方法是什么?如果我有多个工作线程,这可能是一种常见的情况。 选项 1 try {
谁能给我指点EventStore带有源代码的示例应用程序? 我正在学习事件存储并想查看引用实现。 最佳答案 很多这样的东西似乎都缺乏功能齐全的示例项目。到目前为止,我发现的 EventStore/Co
顺便说一句,你如何创建一个流? I use AppendToStreamAsync directly, is this right or shall I create a stream first t
我目前正在开始使用 EventStore我正在关注 Getting Started指导。我只是卡在第一步,不知道我做错了什么...... 我现在使用的版本是 20.6.0 . 我正在尝试使用 .NET
如何访问 EventStore 中存储的所有事件以重建我的读取模型? 在问题 J Oliver EventStore V2.0 questions 中提到了一个名为 GetFrom 的方法,但我在 W
是否可以不通过 StreamId 而通过其他 Stream 属性来搜索流?例如,如果每个流的 header 中都有 CustomerId,我想搜索具有特定 CustomerId 的所有流。 最佳答案
我试图弄清楚我的事件存储和我的读取模型在实际具体实现方面是如何相关的。 我对事件存储的有限了解使我相信: 事件提交给事件存储 调度员运行 如果我使用队列,我会将消息发送到队列(比方说公共(public
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它. 关闭 6 年前。 Improve
我是一名优秀的程序员,十分优秀!