首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sharepoint批量删除

Sharepoint批量删除
EN

Stack Overflow用户
提问于 2012-08-21 08:31:53
回答 1查看 1.1K关注 0票数 0

我正在尝试对SharePoint 2007/2010执行批量删除操作。

当我使用List.asmx -> UpdateListItems执行以下命令时,我得到了混合行为:

代码语言:javascript
复制
`<Batch OnError="Return" PreCalc="TRUE">
  <Method ID="87c970a3000c4e789a9c49ed43768865" Cmd="Delete">
    <Field Name="ID">18</Field>
    <Field Name="FileRef">
    http://vs-dev-sp2010/list1/DocLib/New
    Document-2.docx</Field>
  </Method>
  <Method ID="46e335183be64367a34c178772a86d92" Cmd="Delete">
    <Field Name="ID">6</Field>
    <Field Name="FileRef">
    http://vs-dev-sp2010/ list1/DocLib /New
    Document.docx</Field>
  </Method>
</Batch>`

对第一个项目的操作成功(删除),对第二个项目的操作失败(检出给另一个用户)。这使得它变得非常困难(不可能?)回滚事务,因为删除的项目将版本历史、作者和创建日期/时间一起带到坟墓。因为SharePoint允许你“关闭”回收站,所以被删除的项目可能会永远消失。我期望SharePoint回滚失败的操作,并返回整个批处理的成功或失败;但是,我观察到的行为是事务部分成功。

我还观察到,如果上面的项在容器(文件夹)中,整个批处理都会失败(这就是我所期望的行为)。

强制悲观并发不是一个选项,因为签出文件不能被批处理(并且批处理中可能有数千个文件)。即使可以批量结帐,结帐操作本身也可能触发自定义工作流。

有没有人知道可以在SharePoint上强制执行批量删除操作的原子行为的属性,看到我发送的请求中的缺陷,或者有更好的批量删除项目的解决方案?

EN

回答 1

Stack Overflow用户

发布于 2013-07-17 23:27:02

不幸的是,事务是not supported on Sharepoint lists的,根据我的经验,没有简单、通用的方法来实现这种行为。

据我所知,你的问题可以归结为类似的问题,What is the workaround for missing transactions。对于在这里寻找答案的开发人员来说,这可能是一个很好的起点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12047014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档