澳门新葡亰平台游戏APP:谈谈SharePoint 2010的客户端对象模型的性能问题

本文是我涉猎了StevePeschka的一些列文章之后的一些感想熏染。假如你对客户端工具模型感兴趣,那么建议你读一下这一些列文章http://blogs.technet.com/b/澳门新葡亰平台游戏APPspeschka/archive/2009


当前位置: 主页 >


本文是我涉猎了Steve Peschka的一些列文章之后的一些感想熏染。假如你对客户端工具模型感兴趣,那么建议你读一下这一些列文章http://blogs.technet.com/b/澳门新葡亰平台游戏APPspeschka/archive/2009/11/01/using-the-sharepoint-2010-client-object-model-part-1.aspx

影响SharePoint 的客户端澳门新葡亰平台游戏APP工具模型很紧张的两个身分是:通报数据量的大年夜小,以及与办事器往返通报数据(Roundtrips)的次数,我这里将借助Fiddler(http://www.fiddler2.com/fiddler2/) 对象对此进行阐明。

例子1:应用工具模型获取当前站点所有的列表的标题。

之前:

public void QueryAllList()

{

Web web = ctx.Web;

var lists = ctx.LoadQuery(web.Lists);

ctx.ExecuteQuery();

foreach (List lst in lists)

{

Console.WriteLine("Title:{0}",

lst.Title);

}

}

Fiddler数据:

之后:

public void QueryAllList()

{

Web web = ctx.Web;

var lists = ctx.LoadQue澳门新葡亰平台游戏APPry(web.Lists.Include(

lst=>lst.Title));

ctx.ExecuteQuery();

foreach (List lst in lists)

{

Console.WriteLine("Title:{0}",

lst.Title);

}

}

Fiddler数据

比较:

之前

之后

Request Count:

4

4

Bytes Sent:

3.294

3.353

Bytes Recei澳门新葡亰平台游戏APPved:

81.989

14.526

Sequence (clock) time (s)

1.357

0.936

例子二:获取当前站点的所有组(ID属性),以及组内的用户(用户的Title属性)。

之前:

public void GetAllUsersInGroups()

{

ctx.Load(ctx.Web.SiteGroups);

ctx.ExecuteQuery();

foreach (Group currentGroup in ctx.Web.SiteGroups)

{

ctx.Load(currentGroup);

ctx.ExecuteQuery();

try

{

ctx.Load(currentGroup.Users);

ctx.ExecuteQuery();

foreach (User currentUser in currentGroup.Users)

{

Console.WriteLine(currentGroup.Id + "--" + currentUser.Title);

}

}

catch { };

}

}

Fiddler数据:

之后:

public void GetAllUsersInGroups()

{

ctx.Load(ctx.Web.SiteGroups,

grps => grps.Inc澳门新葡亰平台游戏APPlude(

grp => grp.Id,

grp => grp.Users.Include(usr => usr.Title)));

ctx.ExecuteQuery();

foreach (Group currentGroup in ctx.Web.SiteGroups)

{

foreach (User usr in currentGroup.Users)

{

Console.WriteLine(currentGroup.Id + "--" + usr.Title);

}

}

}

Fiddler数据:

比较:

之前

之后

Request Count:

32

4

Bytes Sent:

37.441

3.379

Bytes Received:

38.065

8.119

Sequence (clock) time (s)

2.204

0.956

结论:当你应用SharePoint 客户端工具模型的时刻:

1. 只查询你必要的数据,或者列;

2. 只管即便削减与办事器之间往返通报(Roundtrips)数据的次数。

发表评论
加载中...

相关文章