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 回答