Checkincomments不存储在文档库中

时间:2011-08-31 14:39:51

标签: sharepoint document-library eventreceiver

我在SharePoint 2007中的spfile对象上遇到了checkincomments的问题。 不存储自定义doclib的checkincomments,其中包含自定义内容类型和itemadding,itemadded,itemupdating和itemupdated事件接收器中的自定义代码。

我找到了有关此问题的以下链接 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中获取它并创建一个文件.CheckIn(“mycomment”,SPCheckinType.OverwriteCheckIn),禁用事件发送。

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

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

是否有更简单的方法可以确保自定义文档库中的checkincomments存储正确?

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

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

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

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

这有帮助!