SharePoint Foundation 通常部署在具有数千名用户的组织中。在构建通过网络访问 SharePoint Foundation 的应用程序时,应使其占用最少的网络流量。客户端对象模型可通过多种方法帮助您实现这一目标。最简单的方法是使用 lambda 表达式来明确指定客户端对象模型应返回到应用程序的属性。
以下示例演示了如何指定在客户端对象模型加载网站对象时,它只能加载 Title 属性和 Description 属性。这可以减小从服务器发送回客户端的 JSON 响应的大小。
C#
using System;
using Microsoft.SharePoint.Client;
class Program
{
static void Main()
{
ClientContext clientContext =
new ClientContext("http://intranet.contoso.com");
Web site = clientContext.Web;
clientContext.Load(site,
s => s.Title,
s => s.Description);
clientContext.ExecuteQuery();
Console.WriteLine("Title: {0} Description: {1}",
site.Title, site.Description);
}
}
默认情况下,如果在对 Load 方法的调用中不包含这些 lambda 表达式,它将加载更多的属性(但并非全部)。前两个示例在未指定要加载的属性的情况下调用了 Load 方法,因此服务器返回的 JSON 数据包稍大于实际所需大小。尽管在这些小型示例中,这不会产生太大区别,但是在加载数千个列表项时,仔细指定所需属性将可以减少网络流量。
使用 lambda 表达式,您可以指定 Load 方法的属性列表。减少网络流量并不是您从客户端对象模型使用 lambda 表达式所获得的唯一好处。下文中将介绍如何使用 lambda 表达式筛选结果集。
接下来,我将演示一个创建列表然后向其中添加内容的示例。该示例将提供本文其余部分将使用的示例内容。