我正在使用SDL Tridion event system在工作流活动完成后触发一个方法(OnEmergencyRelease)。然而,我的方法没有在测试期间输入,我在工作流过程中单步执行一些组件。
我使用以下代码进行订阅:
EventSystem.Subscribe<Component,
FinishProcessEventArgs>(OnEmergencyRelease, EventPhases.TransactionCommitted);但是从来没有输入过OnEmergency:
private void OnEmergencyRelease(Component component,
FinishProcessEventArgs args, EventPhases phase)
{
_log.Info("Emergency release entered");
}有人知道我做错了什么吗?
当我在类的构造函数中写入日志时,我知道事件系统正在被提取。
发布于 2012-03-24 05:22:26
我不能确切地告诉您发生了什么,但我怀疑组件对象本身不会调用FinishProcessEventArgs。也许你应该在类层次结构中“更高”的对象上尝试intercept。
示例:使用Process (或ProcessInstance,甚至IdentifiableObject)
EventSystem.Subscribe<Process, FinishProcessEventArgs>(OnEmergencyRelease, EventPhases.TransactionCommitted);
发布于 2012-03-24 16:12:49
事件正在触发吗?我希望Finish Process事件在您显式调用finish process操作时触发,而不是在单步执行项目时触发。
https://stackoverflow.com/questions/9845830
复制相似问题