在一个sharepoint项目中,我有非常重要的事件接收器,直到现在已经为客户部署了这个项目的7个版本。我们已经开始认为其中一个版本是如此不稳定和缓慢。我的意思是有时在更新项目时它坚持这种情况发生了。
注意:他们的网络速度很快。问题出在项目中。
我检查了代码并找出了处理错误的方法文件'FileName'已被SHAREPOINT \ system修改导致循环,有时候。这是{{1中的代码}}和ItemUpdated
事件接收器更新ItemAdded
:
SPListItem
这个while循环有以下状态:
1项目第一次更新,没有异常
2更新导致提到异常,它将在几次迭代后更新
3更新导致提到异常并且它处于循环中并且即使在200次迭代之后也不会更新。
这个问题案例项目不稳定,有时工作得太慢。处理这种情况的最佳方法是什么?
答案 0 :(得分:2)
快速搜索引发了一些文章,提到在elements.xml中更改事件接收器定义以同步执行而不是异步执行(这是默认设置):
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Receivers ListTemplateId="850">
<Receiver>
<Synchronization>Synchronous</Synchronization>
</Receiver>
</Receivers>
</Elements>
第一条从http://onlinecoder.blogspot.co.uk/2013/07/splistitemupdate-file-has-been-modified.html
获取此信息答案 1 :(得分:0)
可能为时已晚......我在2017年面临同样的问题..解决方案对我不起作用..我做的是在ItemAdded事件接收器我正在阅读文件并在阅读之后我有创建了一个新线程,根据文件中的值更新列。它工作..