我目前正在开发一项服务,使用SharePoint 2010客户端对象模型以编程方式将Excel工作表上载到Drop Off Library,然后设置文件的属性。这个过程运行良好。但是,还车库由内容管理器规则管理,这些规则不会应用于上载的文件。我检查了我认为可能错过的每一处房产:
- ContentTypeId设置正确
- _正在将审核状态设置为0
- 调用规则所需的两个属性被设置为有效值
- 正在对ListItem调用Update
- 更新ListItem后签入该文件
该列表没有启用次要版本控制,因此我不进行任何发布调用。
最令人沮丧的是,如果我使用Web UI编辑文档属性,并在不进行任何更改的情况下将其签回,则文件将移动到其最终位置。在使用SP2010 COM时,我可能忽略了阻止内容管理器规则应用于新上传的文件的问题?
这个问题的最终答案是一切都设置正确。但是,不能以编程方式强制评估内容管理规则。我需要的信息是由Steve Curran在这个MSDN线程上的一篇帖子提供的。
在SharePoint 2010管理中心的"监视"部分下,有一个"定时作业"的控制面板,其中包括一个"查看作业定义"项目。在此面板上,应该有一个名为">内容管理器处理"的作业。这是一项夜间任务,将根据您在网站中建立的规则运行和清理内容。以编程方式将文件上载到投递库后,您可能会发现,如果属性设置正确,则点击此作业的"立即运行"按钮将导致文件移动到其最终目的地。
解决方案是将Recurring Schedule部分下此作业的频率从夜间流程更改为每15分钟执行一次(或您确定最有效的时间间隔(。
注意:请注意,如果您在还车库中未正确设置其属性的文件时向网站管理员或邮件列表发送自动电子邮件,则这些文件将以与作业执行相同的频率到达。
这篇文章可能会有所帮助。
基本上,它似乎在2010 COM中不受支持,所以不幸的是,你必须解决它。