概述:使用对象模型自定义管理

上次修改时间: 2010年4月7日

适用范围: SharePoint Foundation 2010

本文内容
对管理设置进行管理
定义自定义管理设置
自动序列化
本节内容

可以使用 Microsoft.SharePoint.Administration 命名空间来处理有关自定义 SharePoint Foundation 部署管理的两种主要应用场景:管理属性设置的管理和自定义属性对象的创建。可以使用现有类型和成员对 SharePoint Foundation 本身使用的设置进行全局更改,但是,当在平台上构建应用程序时,您可以创建用于定义和存储自定义属性设置的自定义类。

对管理设置进行管理

SharePoint Foundation 包含一个已修改的管理对象模型,使用该对象模型可访问早期版本中已隐藏的功能。设计新的对象模式是为了您能够在整个部署中轻松更改管理设置。如果您具有一个大型服务器场或多个服务器场,且必须对管理设置进行全局更改,则可以使用此对象模型达到该目的。

利用相对较少的代码行,您可以编写以特定方式配置整个服务器场的脚本或基本控制台应用程序。如果需要更改特定的属性设置,请使用此对象模型执行该操作。有关演示如何创建用于管理 SharePoint Foundation 设置的简单控制台应用程序的任务,请参阅如何:添加已阻止的文件类型

定义自定义管理设置

在 SharePoint Foundation 平台上构建应用程序时,您可能需要创建一个类以定义应用程序的自定义属性设置并提供用于存储这些设置的方法。SharePoint Foundation 中的 Microsoft.SharePoint.Administration 命名空间引入了对象持久性,使用它可将派生自基础 SPPersistedObject 类的类保留到 SharePoint Foundation 数据库中。若要创建保留的对象,您可以创建一个类,该类从 SPPersistedObject 或派生自 SPPersistedObjectMicrosoft.SharePoint.Administration 命名空间中的某个类继承。此类可以定义一个用于存储 SharePoint Foundation 数据库中的自定义属性设置的对象模型。例如,您可以创建通过某种方式使用 SharePoint Foundation 的 Windows 服务,这将需要创建一个继承自 SPWindowsService 类的类,以便存储特定于 Windows 服务的设置。已编译的 DLL 将为客户提供一个可用于检索或保存属性的对象模型。SharePoint Foundation 提供用于存储设置的方法和位置,并管理它们对服务器场中的所有服务器和过程(包括缓存刷新)的可用性。

有关演示如何定义自定义管理对象的示例,请参阅演练:创建一个内容服务对象

自动序列化

由于 SharePoint Foundation 将自动处理保留的对象(原本派生自 SPAutoSerializingObject 类)的序列化,因此您无需编写序列化代码。如果您是在 SharePoint Foundation 平台上开发产品且需要一个用于存储服务器场中的所有服务器可访问的设置的位置,则无论服务器场变得多大,您都具有两个选择:

  • 将设置放入一个文本文件中,并在发生任何更改时,执行下列操作:将该文件复制到所有服务器、将该文件放入确保对所有服务器可用的共享中或在所有服务器的注册表中输入这些设置。您可能需要为每个属性编写大量复杂代码,并确定如何将属性设置放入适当位置以及如何对其进行检索。

  • 创建一个保留的对象类,并添加任意字段以存储您的设置。由于会自动序列化您的类,因此您无需确定如何存储数据或将其转换为某些可存储格式。您提供一个包含用于整数、字符串、GUID、数组等字段的类,同时 SharePoint Foundation 为您将数据序列化到数据库。您的类定义属性设置的成员,而它会从基类中继承针对服务器场中设置的自动序列化、存储和传播以及缓存无效。SharePoint Foundation 提供数据库内部和外部的设置段,或将这些设置应用于其他服务器和其他过程,而无需您编写代码进行转换(例如,将整数或 GUID 转换成字符串)。

本节内容