功能事件接收器

指定在功能的生存期中作为四个关键事件的一部分调用的服务器端代码例程:安装、激活、停用和删除。

实例

开发人员创建一个功能,并确定它在激活时必须对对象模型进行某些调用,在停用时必须执行某些清理。开发人员还创建一个自定义功能事件接收器类,并在功能定义中包括对该类的引用。

技术详细信息

您将功能事件接收器编译到与功能定义关联的程序集中。如果功能接收器与该功能相关联,那么当该功能历经其四个生命周期事件之一时,将使用与该事件的范围和目标相关的其他信息调用该功能。

下面的 feature.xml 代码示例演示如何将功能接收器注册为功能定义的一部分:

<Feature   Id="39FA56C4-7A47-44F5-83CC-01B5E777F436" Title="Feature with Receiver Callback" Scope="Web" ReceiverAssembly="SimpleReceiver, Version=1.0.0.0, Culture=neutral, PublicKeyToken=207e2bf263eeeff6, processorArchitecture=MSIL" ReceiverClass="MS.Samples.SharePoint.SimpleProvisioner" xmlns="https://schemas.microsoft.com/sharepoint/" />

可以使用功能事件接收器来执行核心功能激活和停用操作无法执行的其他安装或清理例程,如删除功能安装到网站中的文件。

支持详细信息

由于每次激活或停用功能时都可能会调用功能事件接收器,因此功能事件接收器可能导致与事件关联的延迟。根据功能事件接收器中的代码量不同,如果同时将某个新功能添加到多个位置或同时从多个位置删除某个新功能(例如,在一个非常大的 SharePoint 环境中的每个网站上激活一个功能),可能会导致重大延迟。