使用 CSOM 或 REST API 同时从 4 个列表中检索数据的性能会更好。?

Dil*_*dav 3 rest performance sharepoint csom office365-apps

我正在开发Sharepoint 托管应用程序,在某些情况下,我需要同时从 4 个列表中获取数据,然后再使用它。我可以使用CSOM做到这一点。但在性能方面,CSOMREST API哪个更好。如果 rest API 是更好的方法,那么我该怎么做。?

egi*_*ocs 5

我的 SharePoint 托管加载项的方法是使用

一种。请求时的 REST API:

  • 单个元素/单个集合检索(单个 List、单个 ListCollection、单个 ListItem、单个 ListItemCollection、单个 Field、单个 FieldCollection 等)
  • 大数据集
  • 使用 REST API 时需要考虑的两件事:
  • 一世。我更喜欢使用sp.RequestExecutor.jsexecuteQueryAsync 而不是 $Ajax 调用。原因 #1:开发与其他网站集或同级网站交互的插件。原因#2:您的X-RequestDigest标头是本地解析的。
  • ii. 在Accept: application/json; odata=?标题中明智地选择您的 odata 值。odata=verbose是,好吧,冗长,这意味着它返回了很多通常无用的元数据信息,这些信息会减慢响应速度。odata=mininalmetadata当您需要单个元数据信息时,这是一个不错的选择。odata=nometadata是您通常需要的。请注意,返回的对象各不相同。在详细模式下:obj.body.d.results. 对于另外两种方法,obj.body.value

湾 我在需要时使用 JSOM API:

  • 请求 ==at once== 多个 List 或 ListItem,或者需要加载到上下文中的不同元素。
  • 批量更新

REST odata 变化 参考:

https://blogs.msdn.microsoft.com/brian_farnhill/2014/03/11/approaches-to-optimising-sharepoint-client-side-communication/

http://www.andrewconnell.com/blog/sharepoint-2013-csom-vs.-rest-...-my-preference-and-why

http://blog.mannsoftware.com/?p=1521

https://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/

http://www.odata.org/documentation/odata-version-2-0/overview/

https://msdn.microsoft.com/en-us/library/office/dn168907.aspx

http://www.vrdmn.com/2013/07/batch-operations-using-javascript.html