托管客户端对象模型

上次修改时间: 2011年4月30日

适用范围: SharePoint Foundation 2010

在 SharePoint Online 中提供

Microsoft SharePoint 2010 软件开发工具包 (SDK) 的这一节介绍了三个新的客户端 API,这些 API 允许您通过在浏览器中执行的脚本、在 .NET 托管应用程序中执行的代码(Microsoft .NET Framework 3.5 或更高版本)或在 Microsoft Silverlight 2.0 应用程序中执行的代码与 SharePoint 网站进行交互。新 ECMAScript(JavaScript、JScript) 客户端对象模型, .NET 托管客户端对象模型和 Silverlight 客户端对象模型均提供在 Microsoft.SharePoint.dll 中定义的服务器对象模型的子集,其中包括与 SharePoint Foundation 层次结构中的网站集级别或更低级别的主要对象相对应的对象。为了提高安全性和性能,客户端对象模型将重点放在与客户端开发最为相关的 API 上,并且不包含在服务器对象模型中表示的所有类型和成员。限制客户端库的大小可缩短在 Silverlight 和 JavaScript 上下文中下载库所需的时间。另外,新的 API 旨在尽量减少常见操作必须实现的往返次数。对象模型提供一个一致且易于使用的、面向对象的系统,以便从远程客户端或服务器与 SharePoint 数据进行互操作。托管客户端对象模型可在 Microsoft Business Connectivity Services (BCS) 应用程序的上下文中使用。

新的客户端对象模型共享结构设计特征,例如对象模型层次结构、对象标识、数据检索语义、客户端上下文、基础结构客户端对象、集和异常处理。这些对象模型与 SharePoint Foundation 服务器对象模型一致,因此,如果您熟悉服务器端 API,则可以很快学会使用客户端 .NET 托管 API、Silverlight API 或 JavaScript API。尽管客户端对象模型与服务器对象模型并不是相似的,但它们自身之间通常是彼此相似的,因此,当您掌握服务器对象模型的一个子集之后,也就掌握了其他子集的大部分内容。只要有可能,新的对象模型就会借用 .NET Framework(尤其是 ADO.NET)中的异步范例。

客户端对象模型分别通过代理 .js 和托管 .dll 文件提供,可在自定义应用程序(例如其他对象模型)中引用这些对象模型。这些对象模型作为 Windows Communication Foundation (WCF) 服务 (.../_vti_bin/client.svc) 来实现,但使用 Web 绑定来实现有效的请求批处理。所有操作实际上均为异步操作,命令被序列化到 XML 中,并通过一个 HTTP 请求发送到服务器。对于每个命令,会进行相应的服务器对象模型调用,并且服务器会向客户端返回一个 JavaScript Object Notation(或 JSON)压缩格式的响应,代理会分析此响应并将其与适当对象相关联。

备注

包含 JavaScript 客户端 API 的 .js 文件在标准 SharePoint Foundation 母版页上引用,因此它们会自动下载到客户端。Silverlight 客户端 API 位于 DLL 文件中,这些文件可以封装到 Silverlight .xap 文件内。若要在客户端计算机上使用包含 .NET 托管客户端 API 的 DLL,必须使用 Microsoft 的 SharePoint Foundation 2010 客户端对象模型可再分发组件(该链接可能指向英文页面) 随应用程序一起分发它们。

有关 .NET 托管对象模型和 Silverlight 对象模型中的类型和成员的语言参考信息,请参阅客户端类库,有关 JavaScript 对象模型的语言信息,请参阅 ECMAScript 类库

有关 SharePoint Foundation 托管客户端对象模型的详细信息,请参阅使用 SharePoint Foundation 2010 托管客户端对象模型。有关如何将客户端对象模型用于 Microsoft Office 2010 和 Open XML 文档的信息,请参阅将 SharePoint Foundation 2010 托管客户端对象模型用于 Open XML SDK 2.0。此外,客户端对象模型资源中心(该链接可能指向英文页面)还提供了指向各种其他资源的链接,这些资源可帮助您使用客户端对象模型。

本节内容

对象模型层次结构和标识

作为中心对象的客户端上下文

客户端对象、值对象和标量属性

数据检索概述

创建客户端对象

客户端对象模型准则

托管对象模型和 ECMAScript 对象模型的区别

托管客户端对象模型中的身份验证

客户端对象模型分发和部署

增加消息的最大大小

常见编程任务

相关章节

客户端类库

ECMAScript 类库

请参阅

其他资源

使用 SharePoint Foundation 2010 托管客户端对象模型

客户端对象模型资源中心(该链接可能指向英文页面)