context.executeQueryAsync是一个事务操作吗?

时间:2016-01-04 18:22:56

标签: asynchronous sharepoint caml csom

假设我在循环中更新了多个项目,然后在executeQueryAsync()类上调用ClientContext,此调用返回错误(调用失败的回调)。我可以确定没有更新所有这些我想更新的sinle项目吗?他们中的一些人是否有可能获得更新而其中一些人不会更新?换句话说,这个操作是交易吗?谢谢,我找不到一篇关于它的帖子。 我问的是CSOM模型而非服务器解决方案。

1 个答案:

答案 0 :(得分:1)

SharePoint在事务方法中处理其内部更新,因此更新文档实际上是对DB的多次调用,如果一个方法失败,将回滚其他更改,以便在失败时没有更新一半。

但是,作为外部开发人员,我们无法使用该功能。如果您创建的更新会更新executeQueryAsync调用中的9个项目并且在#7上失败,那么前6个将不会回滚。您将不得不编写代码来处理失败,如果回滚很重要,那么您将不得不手动回滚代码中的更改。