我将三个事件附加到我的 CustomLists:
- 添加项目
- 物品已更新
- 项目删除
在一个列表上,我有一个工作流,它正在更改该列表中的列。因此,当我编辑该列表中的条目时,ItemUpdated-Event 会触发两次。在其他列表(没有任何工作流程)上,我的接收器工作正常。
如何确定工作流是否调用了我的事件接收器?
触发事件的工作流与触发事件的用户之间有区别吗?
我将三个事件附加到我的 CustomLists:
在一个列表上,我有一个工作流,它正在更改该列表中的列。因此,当我编辑该列表中的条目时,ItemUpdated-Event 会触发两次。在其他列表(没有任何工作流程)上,我的接收器工作正常。
如何确定工作流是否调用了我的事件接收器?
触发事件的工作流与触发事件的用户之间有区别吗?
您可以将隐藏字段添加到始终由工作流(并且仅由工作流)设置的列表中。然后你会看到工作流是否调用了事件接收器。
或者
您可以在工作流项目中创建 HandleEventFiring 类,并在工作流更新前后使用 DisableAllEventFiring 和 EnableAllEventFiring
public class HandleEventFiring : SPItemEventReceiver
{
public void DisableAllEventFiring()
{
this.DisableEventFiring();
}
public void EnableAllEventFiring()
{
this.EnableEventFiring();
}
}
回答您的第一个问题:
是的,您可以找到您的工作流程。最简单的方法是使用 SharePointManager 2010 和
我不知道我是否正确理解了您的第二个问题,但这里是:
工作流程可以由用户手动启动,或者如果列表项是自动启动
除此之外没有太大区别。