我创建了一个功能,我继承SPItemEventReceiver以向ItemAdded方法添加一些自定义代码。该解决方案按预期工作,但在一个场景中:当我在“Windows资源管理器”中打开两个文档库并将文件从一个库拖到另一个库时,自定义代码仅执行偶尔。
为了调查此行为,我尝试了调试,但是当我这样做时,自定义代码每次都会执行。
我已经使用此过程来避免properties.ListItem为null:http://social.msdn.microsoft.com/Forums/en/sharepointdevelopment/thread/8712648e-cf09-4f7b-ab13-1c6aacdf588a
您对可能出现的错误有什么想法吗?
答案 0 :(得分:0)
我不确定导致此问题的原因,但在我在ItemAdded方法中添加以下行后,它可以正常工作:
System.Threading.Thread.Sleep(200);
答案 1 :(得分:0)
ItemAdded事件是一个异步事件。这意味着之前的操作可能尚未完全完成。它可能总是在调试模式下工作,因为它是一个时序问题。您可以尝试使用itemAdding事件或变通方法,如:this blog
中所述