2009-06-24 47 views
1

我有一個工作流在列表中的某個項目上運行。工作流程中有一個OnWorkflowItemChanged活動位於While活動中。我知道工作流程會進入While循環,如果我通過UI更新項目,它會觸發OnWorkflowItemChanged活動。但是,如果我通過編程方式更新項目(通過控制檯應用程序),它不僅不會觸發OnWorkflowItemChanged活動,還會通過UI停止響應更新。以編程方式更新列表項時,工作流會停止響應

有沒有人見過這個?有沒有辦法以編程方式更新列表項目,並讓工作流程對事件做出響應並繼續響應未來事件?

編輯:它工作正常,如果我使用列表Web服務來更新項目。爲什麼如果我使用對象模型會搞砸了?

回答

0

看起來讓事件觸發的唯一方法是使用列表Web服務。

0

我知道通過對象模型中的事件接收器可以調用SPEventReceiverBase.DisableEventFiring()更新列表項等時,SPEventReceiverBase.DisableEventFiring()你有沒有嘗試過,還是有相當的工作流程?

下面就來禁用事件在未從事件接收器內觸發更新發射一個黑客:link text

+0

DisableEventFiring()和EnableEventFiring()用於事件接收器以防止遞歸調用。它們不適用於工作流程或外部代碼。此外,我不明白爲什麼調用SPListItem.Update()方法會禁用事件firint開始 - 它不應該。 – zimdanen 2009-06-24 13:57:48

0

是啊,我同意這個問題是該事件完全不開火。我注意到,如果您重置IIS,它會首次運行,但之後沒有更新。

相關問題