我在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存储正确?
第二次发生事件的解决方案是什么?
任何帮助都会很棒!
答案 0 :(得分:0)