本章你将学习到:
- 当项目被添加到列表时验证数据
- 给事件Receiver添加自定义的错误信息
- 给事件Receiver添加应用程序页
- 处理列表事件Receiver
- 部署事件Receiver
- 创建功能Receiver
- 调试功能Receiver
- 调试安装了事件的功能
介绍
SP2010拥有强大的事件处理能力,可以用于自定义列表事件处理前后。当你创建自己的事件Receiver时,你在写不同事件的事件处理器,SP会根据操作进行应对。被SP触发的主要事件有:列表事件、列表项目事件、列表邮件事件、网页事件、列表工作流事件、功能事件。上述事件当列表、网站、网站集、列表项目等发生改变、创建或删除时被SP触发上面列出的事件可进一步分为同步和异步事件。同步时间指在操作发生前进行反应(例如,列表中添加项目事件或删除项目事件)。同步事件是和代码一个线程,在给浏览器发送响应前执行。异步事件是发生后执行,如激活功能事件和功能安装事件。
例如,同步事件在列表添加项目可以用来在添加之前验证数据。这样可以控制被添加的项目,如果需要,可以取消数据被添加到列表。但不能取消异步事件。异步事件用于业务工作流,如项目添加后发送邮件
创建事件处理器典型的脚本有:
- 自定义数据验证。验证失败时可以避免添加项目到列表
- 项目添加到列表时发送自定义邮件
- 为审计目的登录到外部数据库等
注意:不要在长业务流程中使用事件处理器,应使用工作流。第二章节会讲解工作流
功能Receiver和事件Receiver一样是功能发生变化时的处理器。其中你可以写自定义的处理器,当功能安装、功能激活、功能停用或功能卸载时发生。
功能事件Receiver会在你(作为程序猿)需要为数据库访问在web.config创建入口、或作为产品提供商激活证书文件时,安装或激活功能的情况下使用。你也可以使用事件Receiver来清理活动,如在功能被移除或禁用时,在web.config移除入口或删除列表。