以编程方式更新列表项时,工作流程停止响应

时间:2009-06-24 13:39:33

标签: sharepoint-2007 workflow

我在列表中的项目上运行了工作流程。工作流具有位于While活动内的OnWorkflowItemChanged活动。我知道工作流进入While循环,如果我通过UI更新项,它会触发OnWorkflowItemChanged活动。但是,如果我以编程方式(通过控制台应用程序)更新项目,它不仅不会触发OnWorkflowItemChanged活动,而且它也会停止通过UI响应更新。

有没有人见过这个?有没有办法以编程方式更新列表项并让工作流响应事件并继续响应未来的事件?

编辑:如果我使用列表Web服务更新项目,它可以正常工作。如果我使用对象模型,为什么会搞乱?

3 个答案:

答案 0 :(得分:0)

我知道在事件接收器中通过对象模型更新列表项时,可以调用SPEventReceiverBase.DisableEventFiring()等。SPEventReceiverBase.DisableEventFiring()您是否尝试过,或者是否有工作流等效?

这是一个黑客,可以在事件接收器内部未触发的更新中禁用事件触发:link text

答案 1 :(得分:0)

是的,我同意问题是事件根本没有解雇。我注意到,如果你重置IIS它第一次工作,但之后没有更新。

答案 2 :(得分:0)

看起来激活事件的唯一方法是使用列表Web服务。