上次修改时间: 2006年9月22日
适用范围: SharePoint Foundation 2010
本文内容
Web 部件发现服务
Web 部件通知服务
状态管理服务
将 Web 部件页服务组件 (WPSC) 的功能组织到服务中。存在多个服务,而且每个服务均可定义实现特定目的的一部分功能。例如,Web 部件发现服务可启用从 Microsoft.SharePoint.WebPartPages.WebPart 类派生的 Web 部件,以在运行时检测其他 Web 部件。Web 部件通知服务发送和接收有关在各种 Web 部件中或在 Web 部件页上发生的事件的信息。WPSC 服务是一种真正的语义创建,它不包含关于特定服务的二进制文件。
一个 Microsoft JScript 文件(IE50UP.JS 或 IE55UP.JS)即可包含所有 WPSC 服务的功能。就其本身而言,如果您要实现某一特定目的,则服务只是一种标识要使用的一组对象、集合、方法和属性的方式。任何给定对象均可以在众多服务中发挥作用。任何对象或集合都不限于特定的服务,而且任何对象或集合都不封装服务。
下面是对 WPSC 提供的服务(发现、通知和状态管理)的说明。
Web 部件发现服务
Web 部件发现服务可为 Web 部件提供一种用于确定运行时是否存在其他 Web 部件的方法,从而使您能够在 Web 部件之间创建依赖关系,或根据某个 Web 部件的状态来动态更改另一个 Web 部件。
Web 部件发现服务可检测 Web 部件页的部件集合中是否存在其他 Web 部件。当您确定某个 Web 部件可用后,即可检查其状态并使用相应结果确定您希望 Web 部件或 Web 部件页以何种方式进行响应。
Web 部件发现服务可启用以下方案:假定您希望某个订单 Web 部件依赖于客户 Web 部件,以便仅在客户 Web 部件可用时显示该订单 Web 部件。通过枚举部件集合,您可以确定这两者是否均位于页面上。然后可以检查 Web 部件状态以确定进一步的操作过程。例如,如果订单 Web 部件处于读/写状态,则客户 Web 部件也将处于读/写状态。若要使用 Web 部件发现服务,您可以使用 WPSC 对象、WebPartPage 对象、部件集合以及一个或多个部件对象。
Web 部件通知服务
Web 部件通知服务可为 Web 部件提供一个标准的多播事件机制,该机制可隐藏 Web 浏览器基础事件机制(如 DHTML 事件)的复杂性。通过 Web 部件通知服务,Web 部件可以注册事件,然后提供一个在运行已注册事件时调用的函数。事件将在对象更改状态时发生。此类对象可以是系统对象(即具有固定名称的静态对象,如WebPartPage 对象或部件集合),也可以是您定义的自定义对象(例如,客户或联系人)。
事件的作用域是一个为事件定义上下文的命名空间。Web 部件可以引发事件或对事件作出响应。分隔这两个角色可以在网页上协调 Web 部件。可以相同方式处理系统事件和自定义事件,这意味着脚本可以更简单,Web 部件更可封装,同时还可以通过浏览器或操作系统显示会话事件。
状态管理服务
状态管理服务能够在运行时从客户端访问和修改 Web 部件的内置属性和自定义属性。Web 部件的状态是标准 Web 部件属性和任何用户定义或系统定义的扩展的组合。例如,显示股票代码的 Web 部件必须能够保存和检索会话之间的自定义信息。在这种情况下,用户选择的股票符号是专用数据。此数据和您指定的 Web 部件架构中的值构成 Web 部件的状态。
状态管理服务可处理特定 Web 部件的状态信息。通过部件集合对 Web 部件页和 Web 部件进行的所有访问均可根据页的当前视图来检索状态信息。如果您处于个人模式,则会检索个性化信息;如果处于共享模式,则会检索全局信息。需要特别注意的是,状态信息(无论是个性化信息还是全局信息)与 Web 部件存储在一起。如果删除 Web 部件,则其状态信息会丢失。