Feature 事件

上次修改时间: 2010年12月27日

适用范围: SharePoint Foundation 2010

Microsoft SharePoint Foundation 提供一些用于响应 Feature 事件的类,它们允许您捕获并响应在以下情况下触发的事件:在服务器场中安装功能时、在将功能添加到新的虚拟服务器中时或在移除功能时。

这些事件中的某些事件是向后事件,这意味着它们将会在提交各自行为并在场的功能定义集合中创建功能定义之后触发。

无法通过 Feature 事件来取消安装或卸载操作。

Feature 事件类

功能设置事件处理程序

利用功能设置处理程序,可以编写特定的代码来处理在功能的生命周期内发生的各种事件。SPFeatureReceiver 类提供用于处理事件的以下方法:

要实现设置事件处理程序,请创建一个派生自 SPFeatureReceiver 的类并实现这些方法。始终将指针传递到父对象,以便根据需要进行自定义。包含功能接收器的程序集必须位于全局程序集缓存 (GAC) 中。在 Feature.xml 文件中,可以通过顶级 Feature 元素的 ReceiverAssembly 和 ReceiverClass 属性注册功能接收器,例如:

<Feature Id="5E88AE4E-2ECB-4CC5-B9EC-9019250F5BC8"
  Title="Knowledge Base Infrastructure"
  Scope="Site"
  ReceiverAssembly="MS.Samples.SharePoint.KnowledgeBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d24e3c1752ded9ed"
ReceiverClass="MS.Samples.SharePoint.KnowledgeBase.KnowledgeBaseInstaller" 
  xmlns="https://schemas.microsoft.com/sharepoint/">

在激活过程中引发的任何异常都将传送给用户,并且不会将功能标记为已激活。

编写用于处理这样一种情况的代码:用户试图强制激活功能(即使功能已激活)。例如,如果功能接收器中的事件处理程序创建一个列表,则验证代码是否失败(如果列表已存在)。