在 MassTransit 中,Send 和 RequestClient 将映射到交换器或队列,这将由 LoadBalanced Consumer 处理。 但是对于 Publish Message,它会被所有正在运行和等待消息的实例消费。 那么,在StateMachine中,Consumer必须要发 ...
在 MassTransit 中,Send 和 RequestClient 将映射到交换器或队列,这将由 LoadBalanced Consumer 处理。 但是对于 Publish Message,它会被所有正在运行和等待消息的实例消费。 那么,在StateMachine中,Consumer必须要发 ...
我有一个场景,在我们可以转换到新的 state 之前必须匹配某个过滤器。所以我设置了一个过滤器,并注册了 OnUnhandledEvent 以在事件未处理时抛出异常。 不幸的是,它不会抛出任何错误。 Automatonymous 似乎将此标记为已处理,因为我们在正确的 state 中处理该事件。 ...
我有一些疑问,因为我是 MassTransit 传奇的新手。 查询: 在 MassTransit saga 中引入并行性是否可行? 如果是这样,正确的方法是什么? 如果有,补偿机制如何? 场景: 让我们以送餐为例。 包装 cookies 打开包装 cookies 包茶打开茶包将两者都包裹在一个好的 ...
我想知道使用 EF Core、saga state Db 和您的应用程序 DB 的最佳实践是什么,以及您是否应该或不应该将您的 saga state 与您的实体结合在数据库的同一个表中,或者甚至有您的 saga state,甚至是您的 saga state在同一个数据库中。 ...
我的问题是,当我获得所有必需的事件(在我的情况下为LinkContract , LinkCustomer )时,没有触发复合事件。 还有一件奇怪的事情——当我发送LinkContract事件时, ProcessingStatus的值变为1 ,然后当我收到第二个事件LinkCustomer时,它变为0 ...
我正在尝试对我的 state 机器进行单元测试,它会在收到某些事件时转换到我期望的状态。 为此,我使用了 InMemoryTestHarness,它使我能够创建我的 state 机器,然后使用总线向它发布消息。 在大多数情况下,这很好。 然而,有几个例子,它然后关闭并在它转换 state 之前执行 ...
我正在寻找 best.Net Saga 框架。 Automatonymous 看起来很有希望,但所有示例和文档都与它的父 MassTransit 项目相关。 如果没有 MassTransit 本身,是否可以使用基于 Automatonymous 的传奇? 如果是 -你将如何坚持 saga sta ...
有没有办法以通用方式处理 NotAcceptedStateMachineException,例如以请求-响应方法向客户端返回一些用户友好的消息? 我正在使用请求/响应来执行 state 机器: 我想得到该 TRes 类型的响应,但显示的是超时。 我试图通过使用 OnUnhandledEvent 来 ...
我正在尝试为我的状态机创建单元测试,以检查每个状态是否做了它应该做的事情。 我可以通过发布启动状态机的事件并创建达到所需状态所需的所有变量,使状态机进入任何状态。 简化状态机: 我写了一些单元测试,我可以启动机器(遵循 MassTransit 文档中的本指南),但我想检查状态Checking ...
我一直在转动我的轮子,试图让 MassTransitStateMachine 工作,但我似乎不明白这应该如何工作。 当我尝试结合状态机中的.Send() Activity 调用stateMachine.RaiseEvent(instance, stateMachine.DeployApplicat ...
尝试按照有关如何测试使用 DI 的 Saga 的示例( https://masstransit-project.com/usage/testing.html#testing-using-dependency-injection ) 但是,我无法使用 Saga 上的预定事件进行测试。 我正在关注htt ...
我试图弄清楚如何记录处理的异常。 当前从 Activity 抛出的异常将被吞没(例如,如果在尝试创建 Acitivity 时出现 DI 错误)。 我可以做些什么来记录捕获的异常? (很抱歉最近向 MassTransit 标签发送垃圾邮件:)) ...
我正在尝试对我的 MassTransit state 机器传奇的自定义Activity进行单元测试。 它看起来像这样: 我想不通的是,在为这个 class 编写单元测试时,如何模拟/伪造对ConsumeContext的期望。 我试图使用InMemoryTestHarness找到一些东西,但找不到任何 ...
我试图弄清楚如何中止一系列活动,如果一个活动确定有问题,那么 Saga 应该被最终确定。 例如: InitialSetup将根据从数据库加载的一些信息配置 Saga。 让它意识到缺少所需的数据,并且应该在运行StartUpdating活动之前完成 Saga。 我怎样才能做到这一点? ...
在我的应用程序中,用户可以触发特定资源的更新。 发生这种情况时,将发送UpdateInitiated事件。 MassTransit Saga 基于该事件启动,并触发一系列其他事件,直到它认为自己完成并最终确定。 在更新过程中,用户可以对资源进行更改并请求新的更新。 我试图弄清楚如何在为同一资源发 ...
我设法通过一系列活动来实施 MassTransit Courier 路由单。 我决定添加一台 state 机器来监控它,因此我创建了单独的事件和状态,并使用 EF Core 作为自动 state 机器的存储。 为了跟踪当前的 state,我在每个活动的执行结束时发布了一个事件。 一切正常,我可以在 ...
我正在尝试使用 EF Core 配置 Automatonymous worker 实现作为持久性。 我通过 api 发布事件并使用 RabbitMq 作为传输在托管服务中处理它。 不幸的是,数据库不存储机器的 state。 我应用了迁移并看到了表OrderState ,但是在我发布OrderSub ...
我正在学习 MassTransit 的 StateMachine,它对我的用例很有帮助,非常喜欢,现在我想了解更多关于如何正确使用 Activity 但很难找到文档/示例的信息,请帮助我解决一些问题: Probe和Accept方法有什么作用? 例如: 什么是Scope和Visitor ? 我像这样 ...
消费者传奇到底是什么,它与自动命名有何不同? 我知道 Automatonymous 是 MassTransit 使用的一个单独的库。 ...
我们使用 Masstransit 和 automatonymous 和 InMemoryRepository 来实现传奇的持久性。 我们配置了大约 3 个状态机并且运行良好。 我们最近从 InMemoryRepository 更改为 EFCore 以实现持久性。 这导致只有第一个配置的状态机完美运行 ...