如何正确监控MassTransit Courier路由单?

问题描述 投票:0回答:1

我成功地通过一系列活动实现了 MassTransit Courier 路由单。我决定添加一个状态机来监视它,因此我创建了单独的事件和状态,并使用 EF Core 作为自动状态机的存储。为了跟踪当前状态,我在每个活动执行结束时发布一个事件。这一切都有效,我可以监控数据库中路由表的当前状态。

但这是最好的方法吗?根据 MassTransit 文档中的此部分:https://masstransit-project.com/advanced/courier/events.html 看起来事件应该自动发布。那么也许还有另一种方法来监控路由表,它不需要创建事件并在每个活动中手动发布它们?

c# masstransit automatonymous routing-slip masstransit-courier
1个回答
5
投票

执行路线单时,MassTransit 将为每个路线单活动发布事件,以及路线单完成后的事件。

您可以使用这些事件,而不是创建自己的事件,从头到尾监控路由单(所有事件都通过

TrackingNumber
关联)。

如果您的系统中针对不同的交易有多个路由表,您可以指定 订阅 将这些事件直接路由到每个交易的跟踪传奇,而不是发布,这样它们就不会“重叠”到单独的跟踪传奇中。 这些事件最适合用于监视/跟踪路由单执行,并且不应该用来代替业务事件。例如,如果您的活动使用信用卡收费,则出于会计/法律目的发布“CreditCardCharged”事件,其中包含单独审核/跟踪卡交易的详细信息是有意义的。

© www.soinside.com 2019 - 2024. All rights reserved.