需要 StateMachine 的 Activity 示例

问题描述

我正在学习 Masstransit 的 StateMachine,它对我的​​用例很有帮助,真的很喜欢它,现在我想了解更多关于如何正确使用 Activity 但很难找到文档/示例,请帮助我解决一些问题:

  1. ProbeAccept 方法有什么作用?例如:

     public void Probe(ProbeContext context)
     {
         context.CreateScope("foo");
     }
    
     public void Accept(StateMachineVisitor visitor)
     {
         visitor.Visit(this);
     }
    

什么是 ScopeVisitor

  1. 我像这样链接了 2 个活动

    .Activity(x=>x.OfType<FirstActivity>())

    .Activity(x=>x.OfType<SecondActivity>())

FirstActivity.Execute方法中,它抛出异常但SecondActivity.Faulted从未命中,如何正确设置它们?

谢谢。

解决方法

您可以使用 this project 中的许多活动来了解它们是如何创建的。

如果您的第一个活动抛出异常,则下一个活动和任何其他后续活动将不会被调用,因为异常被抛出且未得到处理。您可以使用 .Catch 状态机表达式来配​​置异常处理程序。