Feature, événements

Dernière modification : lundi 27 décembre 2010

S’applique à : SharePoint Foundation 2010

Microsoft SharePoint Foundation fournit des classes pour répondre aux événements Feature, qui permettent d’intercepter et de répondre à un événement qui se déclenche lorsqu’une fonctionnalité est installée dans la batterie de serveurs, lorsqu’une fonctionnalité est ajoutée à un nouveau serveur virtuel, ou lorsqu’une fonctionnalité est supprimée.

Certains de ces événements sont des événements de publication, ce qui signifie qu'ils se déclenchent une fois que le comportement respectif a été validé et la définition des fonctionnalités est créée dans la collection de définitions des fonctionnalités pour la batterie de serveurs.

Il n'est pas possible d'annuler une installation ou désinstallation par l'intermédiaire des événements Feature.

Classes d'événements Feature

  • Microsoft.SharePoint.SPFeatureReceiver   Classe de base abstraite qui peut être substituée pour implémenter l’activation, la désactivation, l’installation, la désinstallation ou la mise à niveau d’une fonctionnalité.

  • Microsoft.SharePoint.SPFeatureReceiverProperties   Classe qui fournit l’accès aux propriétés d’événement, telle que l’instance de fonctionnalité qui a été créée, pour la définition de fonctionnalité ou l’objet parent de la fonctionnalité.

Gestionnaires d’événements de mise en service de fonctionnalité

Les gestionnaires d’événements de mise en service de fonctionnalité vous permettent d’écrire du code spécifique pour gérer différents événements qui apparaissent dans le cycle de vie d’une fonctionnalité. La classe SPFeatureReceiver fournit les méthodes suivantes pour la gestion des événements :

Pour implémenter des gestionnaires d’événements de mise en service, créez une classe qui dérive de SPFeatureReceiver et implémente ces méthodes. Étant donné que vous obtenez toujours le pointeur vers l’objet parent, vous pouvez effectuer la personnalisation en fonction de vos besoins. L’assembly qui contient un récepteur de fonctionnalités doit se trouver dans le Global Assembly Cache (GAC). Dans le fichier Feature.xml, vous pouvez enregistrer un récepteur de fonctionnalités à l’aide des attributs ReceiverAssembly et ReceiverClass de l’élément Feature de niveau supérieur, par exemple :

<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/">

Les exceptions levées au cours de la procédure d'activation sont communiquées à l'utilisateur, et la fonctionnalité n'est pas marquée comme activée.

Écrivez du code qui gère les cas où un utilisateur tente de forcer l’activation de votre fonctionnalité même si elle est déjà activée. Par exemple, si un gestionnaire d’événements de votre récepteur de fonctionnalités crée une liste, vérifiez que votre code n’échoue pas si la liste existe déjà.