暂停ItemAdded事件,直到将所有附件添加到其中

时间:2014-12-05 20:13:12

标签: sharepoint sharepoint-2013

我有一个列表项,其中添加了多个附件。添加后,我的ItemAdded事件就会被触发。

但是如果我尝试访问properties.ListItem.Attachments属性,它有时会给我0或比原始附加附件少一个数字。

如果我在线程中休息几秒钟,我会在properties.ListItem.Attachments属性中获取其余的附件。所以看起来在将所有附件添加到列表项之前调用ItemAdded事件。

我有没有办法暂停ItemAdded事件,直到我的所有附件都添加到列表项中?

2 个答案:

答案 0 :(得分:0)

使用ItemAttachedAdded事件。

答案 1 :(得分:0)

我最终使用ItemAttachmentAddedItemAdded

由于在ItemAdded之前调用了ItemAttachmentAdded,因此我对ItemAdded中的静态对象进行了锁定,并在完成ItemAdded事件的执行后将其释放。

在ItemAttachmentAdded中,我检查该对象的锁定,并在我获得锁定后继续,以确保在ItemAttachmentAdded事件完成后触发我的ItemAdded项目。

Lock(object){}