12

ワークフローの状態遷移のログ データベースが必要です。

Statelessでロギングをトリガーするのに最適な場所はどこですか? 状態構成ごとにセットアップする必要があります。

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

または、ワークフロー全体に対して一元的に定義する方法はありますか?

この点に関するその他の意見は大歓迎です。

4

1 に答える 1

19

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
}
于 2016-07-04T07:33:08.727 に答える