Performance 使用CSOM或RESTAPI同时从4个列表检索数据,性能会更好。?

Performance 使用CSOM或RESTAPI同时从4个列表检索数据,性能会更好。?,performance,rest,sharepoint,csom,office365-apps,Performance,Rest,Sharepoint,Csom,Office365 Apps,我正在开发由Sharepoint托管的应用程序,在这种情况下,我需要同时从4个列表中获取数据,然后在以后使用它。我可以使用CSOM来完成。但是从性能角度看,什么更好呢CSOM或restapi。如果rest API是更好的方法,那么我该如何做呢 在我看来,REST表现出更好的性能。在时间响应时间上,大约缩短了30% 如何给它打点? 使用Ajax,这非常简单。下面是一个演示如何使用它的示例: 我的SharePoint托管加载项方法是使用 a。请求时使用REST API: 单元素/单集合检索(单列

我正在开发由Sharepoint托管的应用程序,在这种情况下,我需要同时从4个列表中获取数据,然后在以后使用它。我可以使用CSOM来完成。但是从性能角度看,什么更好呢CSOMrestapi。如果rest API是更好的方法,那么我该如何做呢

在我看来,REST表现出更好的性能。在时间响应时间上,大约缩短了30%

如何给它打点? 使用Ajax,这非常简单。下面是一个演示如何使用它的示例:


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

a。请求时使用REST API:

  • 单元素/单集合检索(单列表、单列表集合、单列表项、单列表项集合、单字段、单字段集合等)
  • 大型数据集
  • 使用REST API时要考虑的两个问题:
  • 一,。我确实更喜欢使用
    sp.RequestExecutor.js
    来执行异步而不是$Ajax调用。原因#1:开发与其他网站集或兄弟网站交互的加载项。原因2:您的
    X-RequestDigest
    头是本机解析的
  • 二,。在
    Accept:application/json中明智地选择odata值;odata=?
    标题
    odata=verbose
    是一种冗长的语言,这意味着它返回大量通常不有用的元数据信息,这会减慢响应速度
    odata=mininalmetadata
    在需要单个元数据信息时是一个不错的选择
    odata=nometadata
    是您通常需要的。请注意,返回的对象各不相同。在详细模式下:
    obj.body.d.results
    。对于其他两种方法,
    obj.body.value
b。我在需要时使用JSOM API:

  • 请求==立即==多个列表或列表项,或者需要将不同的元素加载到上下文中
  • 批量更新
参考资料: