gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 00:04:05 26 4
gpt4 key购买 nike

我希望在数据库中记录我的工作流程的状态转换。

哪里是触发日志记录的最佳位置 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
}

关于c# - 如何在无状态(.NET 状态机库)中记录状态转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38178841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com