1

使用 Jolivers EventStore 在 c# 中实现/处理幂等性。这是否意味着在处理之前只需检查域/读取模型旁边的聚合 ID 和版本?或者还有更多的东西吗?

[编辑]

我问的原因是,例如,我想以小功能块开发我的应用程序。

所以 - 想象一下我有一个包含在线商店产品数据的某种类型的数据集。我想通过创建搜索产品的能力来开始开发应用程序。这意味着以某种方式导入数据集(不管如何)。数据集中的每个产品最终都会触发(例如)一个 CreateProductCommand - 此命令通过触发 ProductAddedEvent 的域,然后由非规范化程序处理以填充 ProductSearchView

现在 - 实现搜索功能后,我想创建产品详细信息视图。我已经运行了导入以将数据集导入系统,因此我想重新运行将触发非规范化器以填充 ProductDetailView 的事件

那有意义吗?

4

1 回答 1

3

您可以做的是清理读取模型数据存储并使用首次发布时使用的相同机制运行事件存储中的所有事件。

作为部署过程中的一个步骤,我正在使用单独的东西来执行此操作。

使用 Event Store 的一个实例,我从一开始就获取所有事件:

var commits = eventStore.Advanced.GetFrom(DateTime.MinValue).ToList();

然后我遍历列表并使用我在正常分派事件时使用的大部分相同代码将事件分派到读取模型。

基本上就是这样。

你应该做的是创造一些对你来说变得简单的东西,因为你将不得不做很多事情。

于 2012-03-14T14:32:20.200 回答