0

我在 SharePoint 2007 中对 spfile 对象的 checkincomments 遇到了问题。在 itemadding、itemadded、itemupdating 和 itemupdated eventreceivers 中具有自定义内容类型和自定义代码的自定义 doclib 上的 checkincomments 未存储。

我找到了有关此问题的以下链接 http://social.technet.microsoft.com/Forums/en-SG/sharepointgeneral/thread/e7c42f6b-1dab-419a-aee6-010845b31ea0

http://www.theblackknightsings.com/HowToChangeCheckinCommentAfterSave.aspx

但我不想直接更改数据库,所以我没有尝试过最后的链接解决方案。

在 itemupdating 事件中,您可以通过 properties.AfterProperties["vti_sourcecontrolcheckincomment"] 获取评论。在 itemupdated 中,此属性为空。

因此,在第一次喜欢之后,我将评论存储在 itemupdating 中的一个自定义内容字段中,从 itemupdated 中获取它并制作一个 file.CheckIn("mycomment", SPCheckinType.OverwriteCheckIn) 并禁用事件触发。

当我第二次将文件上传到文档库并将版本增加一个(启用主要版本控制)时,itemupdating 和 itemupdated 被触发两次。

在第二个 itemupdated 之后,异步 itemupdated 似乎还没有准备好,我得到一个信息,表明该文件当前正在由我自己使用。所以更新失败。

有没有更简单的方法来确保自定义文档库中的签入注释正确存储?

事件第二次触发的解决方案是什么?

任何帮助都会很棒!

4

1 回答 1

0

经过几天的研究和测试,我终于找到了答案:

http://social.technet.microsoft.com/Forums/en-US/sharepointdevelopment/thread/ffed71b1-d255-4da3-90c7-537540c27a36

这有帮助!

于 2011-09-05T14:01:05.537 回答