决定要使用的 SharePoint 2010 API

了解何时使用 Microsoft SharePoint 2010 提供的三种不同类型的 API(服务器端对象模型、托管客户端对象模型和 Web 服务)。

上次修改时间: 2011年9月8日

适用范围: SharePoint Foundation 2010

本文内容
服务器端对象模型
托管客户端对象模型
SharePoint 2010 Web 服务

Microsoft SharePoint 2010 提供三组用于通过 SharePoint 功能开发扩展和自定义解决方案的 API:服务器端对象模型、托管客户端对象模型和 Web 服务。每种 API 都有优点和限制,在开始规划和开发自定义解决方案之前需要了解这些优点和限制。例如,服务器端对象模型提供最广泛的用于开发自定义项的选项集,但它只能在运行某个 SharePoint 2010 版本的计算机上使用。以下各节介绍这三组 API 及其适用的上下文。

服务器端对象模型

服务器端对象模型提供最广泛的用于扩展 SharePoint 2010 功能的选项集。它包括 Microsoft SharePoint 2010 软件开发工具包 (SDK) 的 SharePoint 2010 类库和 Web 服务引用部分的类库中记录的每个 API。

使用这些 API 的任何应用程序都必须实际部署在服务器上。有关设置开发环境的指导和选项,请参阅在 Windows Vista、Windows 7 和 Windows Server 2008 上设置 SharePoint 2010 开发环境。在安全性方面,这些 API 通常具有很高的访问级别,但请参阅沙盒解决方案(该链接可能指向英文页面)了解与沙盒解决方案相关的限制。通过这组 API 可以访问最大数量的特性和功能。在 Microsoft SharePoint Foundation 2010 中,许多服务器端 API 位于 Microsoft.SharePoint 程序集 (Microsoft.SharePoint.dll) 中;在 Microsoft SharePoint Server 2010 中,许多服务器端 API 位于 Microsoft.Office.Server 程序集 (Microsoft.Office.Server.dll) 中。但是,您必须查看每种类型的文档以及每个 API 中的成员才能确定要引用的程序集。

托管客户端对象模型

利用托管客户端对象模型,您可以将 SharePoint 2010 功能集成到在浏览器中执行的脚本,在 .NET Framework 托管应用程序中执行的代码(不早于 Microsoft .NET Framework 3.5),或在 Microsoft Silverlight 应用程序中执行的代码。托管客户端对象模型中的 API 是调度对服务器端对象模型的调用的自定义 Web 服务包装。它们通常提供比 SharePoint 2010 Web 服务更好的性能,因为它们对请求进行批处理并异步执行所有操作。它们还具有 SharePoint 2010 开发人员和 Microsoft ASP.NET 开发人员(更普遍)熟悉的设计特征(例如对象模型层次结构、对象标识、数据检索语义、客户端上下文、基础结构客户端对象、集合和异常处理)。托管客户端对象模型将重点放在与客户端开发最密切相关的 API 上,并且不包含在服务器对象模型中出现的全部类型和成员。

托管客户端对象模型设计用于在未安装 SharePoint 2010 的计算机上运行的远程客户端解决方案。有关托管客户端对象模型以及如何使用它的详细信息,请参阅托管客户端对象模型。这些 API 中的类型和成员记录在客户端类库中(对于在 .NET 托管应用程序或 Microsoft Silverlight 2.0 应用程序中执行的代码)和 ECMAScript 类库中(对于在浏览器中执行的代码)。

SharePoint 2010 Web 服务

利用 SharePoint 2010 Web 服务,您可以将 SharePoint 功能集成到在尚未安装 SharePoint 2010 的计算机上运行的客户端或服务器端应用程序中远程运行的代码中。这些 Web 服务提供比托管客户端对象模型更全面的功能,但不提供同样的性能和设计优势,例如批处理和异常处理。在开发客户端应用程序时,应尽可能使用托管客户端对象模型。

SharePoint 2010 Web 服务 API 记录在 SharePoint 2010 Web 服务SharePoint Foundation REST 接口中。

请参阅

概念

在 Windows Vista、Windows 7 和 Windows Server 2008 上设置 SharePoint 2010 开发环境

使用 SharePoint Foundation 服务器端对象模型

服务器和网站体系结构:对象模型概述

其他资源

沙盒解决方案(该链接可能指向英文页面)

托管客户端对象模型

SharePoint 2010 Web 服务