加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何在Stateless(.NET状态机库)中记录状态转换

发布时间:2020-12-15 08:06:14 所属栏目:百科 来源:网络整理
导读:我想有一个登录我工作流状态转换的数据库. 使用Stateless触发日志记录的最佳位置在哪里?是否应为每个州配置进行设置: phoneCall.Configure(State.Connected) .OnEntry(() = StartCallTimer()) .OnEntry(() = Log()); 或者有一些方法可以为整个工作流程集中
我想有一个登录我工作流状态转换的数据库.

使用Stateless触发日志记录的最佳位置在哪里?是否应为每个州配置进行设置:

phoneCall.Configure(State.Connected)
    .OnEntry(() => StartCallTimer())
    .OnEntry(() => Log());

或者有一些方法可以为整个工作流程集中定义一次?

欢迎提供这方面的任何其他意见.

解决方法

您可以使用OnTransitioned触发器作为中央日志记录工具在每次转换时触发.
_stateMachine.OnTransitioned(OnTransitionedAction);

void OnTransitionedAction(StateMachine<StateEnum,TriggerEnum>.Transition transition) {
    TriggerEnum trigger = transition.Trigger;
    StateEnum source = transition.Source;
    StateEnum dest = transition.Destination;
    // log trigger,source,destination
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读