2012-03-23 6 views
2

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

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

しかしOnEmergencyが入力されていないさん:私は次のコードを使用して加入してい

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

誰もが任意のアイデアを持っている私が間違ってここで何をやっていますか?

私のクラスのコンストラクタのログに書き込むときに、イベントシステムが選択されていることが分かります。

+0

あなたはどのプロセスに接続していますか?あなたのpdbファイルが正しい場所にあるかどうか知っていますか? –

答えて

6

何が起こったのかはわかりませんが、FinishProcessEventArgsがComponentオブジェクト自体に対して呼び出されていないと思われます。たぶんクラス階層の '上の'オブジェクトでインターセプトを試みるべきでしょう。

例:使用プロセス(またはプロセスインスタンスあるいはIdentifiableObject)

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

+0

こんにちはMihai、それは理にかなっています。答えに感謝してくれます。 – johnwinter

+0

それがうまくいけば、答えとしてマークしてください:)あなたは知っています...それはポイント、レポクレジット、バッジやものに関するすべてです:) –

+0

こんにちはミハイ、はい、RepositoryLocalObjectで動作します。私はVersionedItemのレベルを1つ上げようとしましたが、うまくいきませんでした。助けてくれてありがとう: – johnwinter

0

は、イベントの発火か?私は、あなたが明示的に仕上げプロセスアクションを呼び出すとき、そしておそらくあなたがアイテムをステップ実行したときではなく、おそらくFinish Processイベントが発生すると思います。

+0

こんにちはDom、それは今私はコンポーネントの代わりにRepositoryLocalObjectを使用しています。 – johnwinter

関連する問題