2

OnEmergencyReleaseワークフロー アクティビティが完了したら、SDL Tridion イベント システムを使用してメソッド ( ) を起動しています。ただし、私のメソッドはテスト中に入力されず、ワークフロー プロセスを通じていくつかのコンポーネントをステップ実行しています。

次のコードを使用して購読しています。

EventSystem.Subscribe<Component, 
    FinishProcessEventArgs>(OnEmergencyRelease, EventPhases.TransactionCommitted);

しかし、OnEmergency が入力されることはありません。

private void OnEmergencyRelease(Component component, 
                                FinishProcessEventArgs args, EventPhases phase)
{
   _log.Info("Emergency release entered");
}

ここで私が間違っていることは誰にも分かりますか?

クラスのコンストラクターでログに書き込むと、イベント システムが取得されていることがわかります。

4

2 に答える 2

6

何が起こるかはわかりませんが、Component オブジェクト自体で FinishProcessEventArgs が呼び出されていないのではないかと思います。おそらく、クラス階層の「上位」のオブジェクトでインターセプトを試行する必要があります。

例: Process (または ProcessInstance または IdentifiableObject) を使用する

EventSystem.Subscribe<Process, FinishProcessEventArgs>(OnEmergencyRelease, EventPhases.TransactionCommitted);

于 2012-03-23T21:22:25.747 に答える
0

イベントは発火していますか?Finish Process イベントは、明示的に終了プロセス アクションを呼び出したときに発生すると予想されますが、アイテムをステップ実行するときにはおそらく発生しません。

于 2012-03-24T08:12:49.007 に答える