zoukankan      html  css  js  c++  java
  • 使用SharePoint CSOM 编写高效的程序

    上一篇文章中简单的介绍了使用CSOM进行编程。今天主要讲一下CSOM使用中一些小技巧,可以让你的程序运行的更快。

    单独加载某些属性

    在上文中的例子,需要返回Web对象信息的时候,我们使用了如下的代码:

    var web= clientContext.Web;
    clientContext.Load(web);//设置查询信息

    进行查询Web的信息,这时候,Web会返回很多属性,很多是我们不需要的,如果我们只需要返回某些属性的时候,我们可以使用如下的方式: 

    var currentWeb = clientContext.Web;
    clientContext.Load(currentWeb, web => web.Title, web => web.Url, web => web.WebTemplate);
    clientContext.ExecuteQuery();

    这时候返回的报文变成了如下格式:

    我们可以看到报文格式中,只返回了我们需要的属性。

    以上两种情况下对比,返回的Respone长度分别是1200 和500,因此在网络吞吐有限的情况下,尽量少的返回查询属性,对于效率的提升有很重要的作用。

    集合属性的查询

    CSOM如何处理集合信息的查询呢,比如获取web下所有的list信息,我们可以:

    clientContext.Load(currentWeb.Lists);
    clientContext.ExecuteQuery();

     这时候,每一个list的所有信息都会返回来,如果我们只想回去某个list的Title和BaseTemplate,那么我们只需要:

    var currentWeb = clientContext.Web;
    clientContext.Load(currentWeb.Lists, lists => lists.Include(list => list.Title, list => list.BaseTemplate));

    或者可以使用:

    clientContext.LoadQuery(currentWeb.Lists.Include(list => list.Title, list => list.BaseTemplate));
    clientContext.ExecuteQuery();

     这两种情况下,在一个有25个list的Web中,Response的报文长度分别是38963 和8172,因此在加载集合的时候,选择合适的查询条件对性能的影响至关重要。

  • 相关阅读:
    Puppeteer--API
    Puppeteer--性能优化
    Puppeteer--代码示例(3)
    Puppeteer--代码示例(2)
    Puppeteer--代码示例(1)
    Puppeteer--等待加载
    Puppeteer--创建实例
    Puppeteer--爬坑记录
    Puppeteer--参考介绍
    vue.js的的回到顶部
  • 原文地址:https://www.cnblogs.com/myprogram/p/4046734.html
Copyright © 2011-2022 走看看