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

Microsoft SharePoint Foundation 提供了一个高度结构化的服务器端对象模型,借助该模型,即可轻松访问表示 SharePoint 网站各个方面的对象。您可以从级别较高的对象开始,逐步深入对象层次结构,以获取包含要在代码中使用的成员的对象。

入口点


根据要创建的自定义应用程序类型或解决方案类型,您可以使用不同的入口点进入对象模型,以获取要从其开始操作的合适对象。例如,如果要自定义部署的管理和配置,则可以使用静态 ContentService 属性返回当前的 Web 服务对象及其 Web 应用程序集合。若要修改管理 Web 应用程序中的设置,请使用 AdministrationService 属性。从 Microsoft.SharePoint.Administration.SPPersistedObjectCollection<T> 类派生的集合类继承了 GetValue 方法,您可以使用此方法从集合中返回特定对象。

注释注释

如果您要创建与网站集、单个网站或列表一同使用的 Web 部件、自定义 Web 服务或 Web 应用程序,可使用 Microsoft.SharePoint.SPContext 类的成员获取当前的网站集、网站或列表。在 /_layouts 虚拟目录中创建 Web 应用程序后,此应用程序的功能可用于 Web 服务器上的所有网站。在 HTTP 上下文之外(例如,在控制台应用程序或 Windows 应用程序中),请使用 SPSite 类的构造函数来获取特定网站集并访问网站集中的各个对象。有关详细信息,请参阅获取对网站、Web 应用程序和其他关键对象的引用

服务器体系结构


下图显示与 Microsoft.SharePoint.Administration 命名空间的集合和对象相关的 SharePoint Foundation 服务器体系结构。

服务器体系结构和管理命名空间

  1. SPFarm 对象在 SharePoint Foundation 对象模型层次中处于最高等级。Servers 属性获取表示部署中所有服务器的集合。Services 属性获取表示所有服务的集合。

  2. 每个 SPServer 对象都表示一台物理服务器计算机。ServiceInstances 属性提供对单台计算机上运行的单个服务实例集的访问权限。

  3. 每个 SPService 对象都表示一个安装在服务器场中的逻辑服务。SPService 类的派生类型包括用于 Windows 服务(如定时服务、搜索、数据库服务等)的对象,以及用于 Web 服务(如支持 Web 应用程序的基本内容发布 Web 服务)的对象。

  4. SPWebService 对象提供对特定逻辑服务或应用程序的配置设置的访问权限。WebApplications 属性获取运行服务的 Web 应用程序集合。

  5. 如果此服务可实现 SharePoint Foundation 的服务应用程序框架,则可将其拆分为多个配置的服务器场范围内的实例 (CFSI)。其中每个实例都可提供此服务的功能,但各自有各自的单独权限和设置。

  6. 在特定服务器上运行的每个服务实例或 CFSI 由 SPServiceInstance 对象表示。

  7. SPDatabaseServiceInstance 对象表示在数据库服务器计算机上运行的数据库服务的单个实例。SPDatabaseServiceInstance 类派生自 SPServiceInstance 类,因此继承了 Service 属性,该属性提供对实例所实现的服务或应用程序的访问权限。Databases 属性获取服务中所用的内容数据库集合。

  8. 每个 SPWebApplication 对象都表示一个承载在 Internet Information Services (IIS) 网站中的 Web 应用程序。SPWebApplication 对象提供对凭据和其他服务器场范围应用程序设置的访问权限。Sites 属性获取 Web 应用程序中的网站集的集合,ContentDatabases 属性获取 Web 应用程序中所用的内容数据库集合。

  9. SPContentDatabase 对象从 SPDatabase 类继承,表示包含 Web 应用程序的用户数据的数据库。Sites 属性获取内容数据库存储其数据的网站集的集合;WebApplication 属性获取父 Web 应用程序。

  10. SPSiteCollection 对象表示 Web 应用程序中的网站集的集合。

网站体系结构


下图显示与 Microsoft.SharePoint 命名空间的集合和对象相关的 SharePoint Foundation 网站体系结构。

网站体系结构

  1. 每个 SPSite对象都表示一组逻辑上相互关联的 SPWeb 对象(见下文),尽管其名称为单数形式。这类组通常称为“网站集”,但与 SPWebCollection 不同的是,SPSite 并不是标准的 Microsoft .NET 集合类。这类组包含可用于管理网站集的成员。AllWebs 属性提供对 SPWebCollection 表示网站集中所有网站(包括首要网站)集合的对象的访问权限。SPSite 类的 SPSite.OpenWeb方法返回特定的网站。

  2. 每个网站集包含任意数量的 SPWeb 对象,每个对象都包含可用于管理网站(包括其模板和主题)并访问网站上的文件和文件夹的成员。Webs 属性返回一个表示指定网站上所有子网站的 SPWebCollection 对象;Lists 属性返回一个表示网站中所有列表的 SPListCollection 对象。

  3. 每个 SPList 对象都包含用于管理列表或访问列表中项目的成员。GetItems 方法可用于执行返回特定项目的查询。Fields 属性返回一个表示列表中所有字段或列的 SPFieldCollection 对象;Items 属性返回一个表示列表中所有项目或行的 SPListItemCollection 对象。

  4. 每个 SPField 对象都拥有包含字段设置的成员。

  5. 每个 SPListItem 对象都表示列表中的一行。

原文地址:https://www.cnblogs.com/love007/p/2945771.html