我搜索如何在多个Handler之间共享TableBatchOperation Azure表存储,以实现事务性行为。
在CQRS场景中,我会在Azure表存储中进行多次插入,但是像MediatR一样使用总线内存,如果这些插入在不同的处理程序中,如果一个失败但不是另一个,则很难。
我认为如果我在publish()调用方法之前和之后共享一个TableBatchOperation就可以了。
有什么建议吗?
CQRS的一般规则是每个命令在单独的事务中处理。如果要在一个事务中处理多个命令,则需要为整个批处理发送一个命令,或者需要查看saga / courier模式。