c# - MediatR 共享 TableBatchOperation 以在不同的处理程序中进行事务保存

标签 c# azure azure-table-storage cqrs mediatr

我搜索如何在多个处理程序之间共享 TableBatchOperation Azure 表存储,以实现事务行为。

在 CQRS 场景中,我会在 Azure 表存储中进行多次插入,但使用像 MediatR 这样的总线内存,如果此插入位于不同的处理程序中,如果一个失败而另一个失败,那么会很困难。

我认为如果我在publish()调用方法之前和之后共享一个TableBatchOperation就可以了。

有这样做的建议吗?

最佳答案

CQRS 的一般规则是每个命令都在单独的事务中处理。如果您希望在一个事务中处理多个命令,您要么需要为整个批处理发送一个命令,要么需要查看 saga/courier 模式。

关于c# - MediatR 共享 TableBatchOperation 以在不同的处理程序中进行事务保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47463450/

相关文章:

c# - 多个筛选条件 Azure 表存储

c# - 类接口(interface)应该放在 .NET 类库中的什么位置?

c# - 从另一个组件访问变量/函数

azure - 如何使用附加 Azure Blob 存储上的外部 Metastore 创建/访问 Hive 表?

Azure powershell 更改为检查 Azure Data Lake Storage Gen 1 中的文件并触发 BAT 脚本

c# - 如何使用 directLine channel 在 Azure 表存储中存储和检索机器人数据?

c# - 如何解决 C# 应用程序中的 FTP 超时

c# - 结构变量不变

Azure IoT Edge 与协议(protocol)网关(IoT 中心)

Azure 表存储重试策略问题