SP2010客户端对象模型:上传文件以删除库不应用内容管理器规则

时间:2011-06-29 22:01:21

标签: vb.net sharepoint-2010 sharepoint-api sharepoint-clientobject

我目前正在使用SharePoint 2010客户端对象模型开发一项服务,以编程方式将Excel工作表上载到Drop Off Library,然后在文件上设置属性。这个过程运作良好。但是,下载库受内容管理器规则的约束,这些规则未应用于上载的文件。我检查了我认为可能错过的每一处房产:

  • 正确设置了ContentTypeId
  • _ModerationStatus设置为0
  • 调用规则所需的两个属性正在设置为有效值
  • 正在ListItem上调用更新
  • 在ListItem更新后签入文件

该列表没有启用次要版本控制,因此我不会进行任何调用发布。

最令人沮丧的是,如果我使用Web UI编辑文档属性并将其重新签入而不进行任何更改,则文件将移动到其最终位置。在使用SP2010 COM时,我可能忽略的是阻止内容管理器规则应用于新上传的文件?

2 个答案:

答案 0 :(得分:2)

这个问题的最终答案证明一切都确实正确。但是,不能以编程方式强制评估内容管理规则。我需要的信息是由Steve Curran this MSDN thread上的帖子提供的。

在“监控”部分下的SharePoint 2010管理中心中,有一个“计时器作业”控制面板,其中包含“查看作业定义”的项目。在此面板上,应该有一个名为“内容管理器处理”的作业。这是一项夜间任务,将根据您在站点中建立的规则运行和清理内容。在以编程方式将文件上载到下拉库后,您可能会发现,如果正确设置了属性,则点击此作业的“立即运行”按钮将导致文件移动到其最终目标。

解决方案是将重复计划部分下此作业的频率从夜间流程更改为每15分钟执行一次(或您确定的最佳工作间隔)。

请注意:请务必注意,如果您将文件留在下拉库中且没有其属性的文件时向站点管理员或邮件列表发送自动电子邮件如果设置正确,它们将以与作业执行频率相同的频率开始到达。

答案 1 :(得分:0)

This article可能会有所帮助。

基本上,它似乎在2010 COM中不受支持,所以你不得不解决它。