使用Jolivers EventStore在c#中实现/处理幂等性。这是否意味着在处理之前只需检查域/readmodel旁边的聚合ID和版本?或者有比这更多的东西吗?
编辑
我问的原因是,例如,我想以小功能块的形式开发我的应用程序。
因此,假设我有一个包含在线商店产品数据的某种类型的数据集。我想开始开发的应用程序创建搜索产品的能力。这意味着以某种方式导入数据集(与如何导入无关)。数据集中的每个产品最终都会触发(例如)一个CreateProductCommand -此命令遍历触发ProductAddedEvent的域,然后由反规范化程序进行处理以填充ProductSearchView
现在-在实现搜索功能后,我想创建产品详细信息视图。我已经运行了导入,以便将数据集导入到系统中,因此我想重新运行事件,该事件将触发非正规化程序以填充ProductDetailView
这有意义吗?
发布于 2012-03-14 22:32:20
您可以做的是清理读取模型数据存储,并使用首次发布事件时使用的相同机制运行事件存储中的所有事件。
作为部署过程中的一个步骤,我使用了一个单独的方法来完成这项工作。
使用Event Store的一个实例,我可以获得从时间开始的所有事件:
var commits = eventStore.Advanced.GetFrom(DateTime.MinValue).ToList();然后,我遍历列表并将事件分派到读取模型,使用的代码与正常分派事件时使用的代码大致相同。
基本上就是这样。
你应该做的是创建一些东西,让它为你变得简单,因为你将不得不做很多事情。
https://stackoverflow.com/questions/9702176
复制相似问题