关于创建非冲突工作流程的指南

时间:2009-05-28 09:36:54

标签: sharepoint workflow

我们有一个SharePoint网站,可以显示日历和管理约会等。

我们正试图通过工作流程自动化该系统的几个方面。

每个工作流程都可以正常工作。

问题是我们希望它们在修改项目时自动运行。但有时工作流本身会修改另一个项目 - 这又会触发工作流程....

你如何避免这些竞争条件?

1 个答案:

答案 0 :(得分:2)

抬头:我没有专门针对工作流程进行测试

对于SP事件,您可以通过列表项事件接收器以编程方式执行此操作。

将事件接收器附加到列表时,可以显式禁用特定序列的事件触发。这会因初始事件而停止后续事件的触发。

只要您从事件接收器启动工作流程,此行为就会延续到工作流程。

public class ListItemEventReceiver : SPItemEventReceiver
{
    #region SPItemEventReceiver Interface
    public override void ItemAdded(SPItemEventProperties properties)
    {
        this.DisableEventFiring();

        // trigger your workflow here

        this.EnableEventFiring();
    }
 }