Edg*_*oks 10 c# stateless-state-machine
我想有一个登录我工作流状态转换的数据库.
使用Stateless触发日志记录的最佳位置在哪里?是否应为每个州配置进行设置:
phoneCall.Configure(State.Connected)
.OnEntry(() => StartCallTimer())
.OnEntry(() => Log());
Run Code Online (Sandbox Code Playgroud)
或者有一些方法可以为整个工作流程集中定义一次?
欢迎提供这方面的任何其他意见.
Geo*_*der 15
您可以使用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
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1771 次 |
| 最近记录: |