我在我的SharePoint 2007项目下面的场景。 我有定时器作业定义,每30分钟从SQL数据库表更新SharePoint列表。SharePoint列表项事件处理程序
我也开始加入项事件处理程序,我的名单,所以它不允许用户添加新项目从SharePoint用户界面的列表。 换句话说,新的列表项只能通过SharePoint对象模型添加到计时器作业定义中,并且不应允许从UI添加新项。
我的问题是 - 即使它从计时器作业定义增加了新的项目正在执行的事件处理程序,我可以以某种方式在事件处理程序是如何检查的项目已经被添加(通过对象模型或通过用户界面)。
非常感谢, Hrayr
谢谢你的回复!是的,我也关于标志和禁用事件处理程序,但在这种情况下有一个大问题,例如我的计时器作业过程100s行,它需要很长时间来执行它,如果我设置一些标志或禁用事件,那么在那段时间如果有人试图通过UI事件处理程序添加/更新项目将不会被解雇。我在想也许在SPItemEventProperties中有一些属性可以指示我们从 – Hrayrd
中触发事件的位置该标志不禁用它,只是让接收器接受它,所以没问题。根据第二条链接,提供的代码禁止它仅用于插入线程(即单个请求)并在之后重新启用它 - 所以再次没有问题。 – Ryan
瑞恩,非常感谢你!最后一个问题,只是为了确保我得到了正确的答案。所以你提供的链接 - 如果我在一些需要3分钟执行并且添加大量新项目之前禁用它,然后在完成时启动它,在这种情况下,如果在3分钟内有人从UI会尝试添加新的项目,该列表事件将被触发OK?我对吗?如果我正确地得到它,这将是很好的解决方案! – Hrayrd