SharePoint 2010中的客户端对象模型可以分为两类:一类是托管客户端对象模型,主要被用作winform、wpf、silverlight等技术开发的客户端应用程序中;另一类为ECMAScript对象模型,这一类也主要是在javascript等脚本语言中使用。
下表列出了服务器端、托管客户端、ECMAScript中的几个主要对象模型。其实不难看出不管是托管客户端对象模型还是ECMAScript对象模型,它们都与服务器端的对象模型具有极大的相似度,对于拥有SharePoint开发经验的Developer们来说,可以非常快速的掌握SharePoint客户端对象模型的使用。不过有相似就有不同,事物永远是两面的,客户端对象模型毕竟不是服务器端对象模型,它能实现的功能也仅仅是服务器端对象模型所能实现的功能的一个子集。例如,客户端对象模型就没有提供任何高于网站集范围的对象,与管理相关的对象模型也不会出现在客户端对象模型中。
| 服务器端对象模型 | 托管客户端对象模型 | ECMAScript对象模型 |
| Microsoft.Sharepoint.SPContext | Microsoft.SharePoint.Client.ClientContext | SP.ClientContext |
| Microsoft.SharePoint.SPSite | Microsoft.SharePoint.Client.Site | SP.Site |
| Microsoft.SharePoint.SPWeb | Microsoft.SharePoint.Client.Web | SP.Web |
| Microsoft.SharePoint.SPList | Microsoft.SharePoint.Client.List | SP.List |
| Microsoft.SharePoint.SPListItem | Microsoft.SharePoint.Client.ListItem | SP.ListItem |
在使用客户端对象模型时一般分为四个主要步骤:
1、使用ClientContext对象获得某个SharePoint站点的引用。ClientContext是客户端对象模型中的核心对象,在与某个SharePoint网站进行交互或是查询某个列表中的数据是,首先要做的就是实例化一个特定网站集的上下文对象。
需要注意的是在使用托管客户端对象模型的ClientContext构造函数时其参数必须为某个特定网站的绝对URL,而在使用ECMAScript对象模型时ClinetContext构造函数可以使用某个网站的相对地址或者不使用参数。
2、指定我们要具体查询或操作的对象
或者
3、使用Load()方法或是LoadQuery()方法来定义一个查询以执行特定操作并返回特定对象或属性。
4、在加载过查询后,对于托管客户端对象模型可以调用ExecuteQuery()或ExcuteQueryAsync()方法来执行查询,对于ECMAScript对象模型则只支持executeQueryAsync()异步查询的方法。需要注意的是只有在执行了查询操作之后,在第二步中所定义的那些对象才能使用,否则它们只能返回null。
或者
以上这四步就是使用客户端对象模型的基本步骤。
本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。