我搜索如何在多个处理程序之间共享 TableBatchOperation Azure 表存储,以实现事务行为。
在 CQRS 场景中,我会在 Azure 表存储中进行多次插入,但使用像 MediatR 这样的总线内存,如果此插入位于不同的处理程序中,如果一个失败而另一个失败,那么会很困难。
我认为如果我在publish()调用方法之前和之后共享一个TableBatchOperation就可以了。
有这样做的建议吗?
最佳答案
CQRS 的一般规则是每个命令都在单独的事务中处理。如果您希望在一个事务中处理多个命令,您要么需要为整个批处理发送一个命令,要么需要查看 saga/courier 模式。
关于c# - MediatR 共享 TableBatchOperation 以在不同的处理程序中进行事务保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47463450/