Récepteur d'événements de fonctionnalités
Spécifie une routine de code côté serveur qui est appelée lors de quatre événements importants au cours de la durée de vie d'une fonctionnalité : installation, activation, désactivation et suppression.
Exemple réel
Un développeur qui crée une fonctionnalité détermine qu’elle doit effectuer certains appels au modèle objet lorsqu'elle est activée et effectuer certaines opérations de nettoyage lors de sa désactivation. Il crée une classe personnalisée de récepteur d'événements pour la fonctionnalité et inclut une référence à cette classe dans la définition de la fonctionnalité.
Détails techniques
Vous compilez les récepteurs d'événements pour une fonctionnalité dans des assemblys associés à la définition de la fonctionnalité. Si un récepteur Feature est associé à cette fonctionnalité, lorsque celle-ci rencontre un des quatre événements de son cycle de vie, elle est appelée avec des informations supplémentaires relatives à la portée et à la cible de cet événement.
L'exemple de code Feature.XML illustre l'inscription du récepteur Feature dans la définition d'une fonctionnalité :
<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/" />
Vous pouvez utiliser des récepteurs d'événements de fonctionnalités pour exécuter des routines supplémentaires d'installation ou de nettoyage que l'activation et la désactivation de la fonctionnalité principale ne peuvent pas effectuer (ex. suppression de fichiers que la fonctionnalité a installés dans un site).
Détails techniques
Du fait qu'un récepteur d'événements Feature peut être appelé chaque fois que la fonctionnalité est activée ou désactivée, il peut provoquer un délai associé à l'événement. En fonction du volume important de code dans le récepteur d'événements Feature, cela peut entraîner un délai important si une nouvelle fonctionnalité est ajoutée ou supprimée simultanément à partir d'un grand nombre d'emplacements (ex. activation d'une fonctionnalité sur tous les sites Web dans un environnement SharePoint très volumineux).