Introduction aux événements dans SharePoint Foundation
Dernière modification : mercredi 7 avril 2010
S’applique à : SharePoint Foundation 2010
Le modèle d’événement Microsoft SharePoint Foundation repose sur des composants managés appelés récepteurs d’événements qui répondent aux objets SharePoint Foundation lorsque des événements de déclenchement spécifiques se produisent. Vous créez un récepteur d’événements en héritant l’une des classes de base de récepteur d’événements SharePoint. Après avoir créé le récepteur d’événements, vous implémentez les gestionnaires d’événements en substituant des méthodes sur la classe de récepteur d’événements. La classe est ensuite compilée en un assembly et placée dans le Global Assembly Cache (GAC) ; ensuite, vous liez vos gestionnaires d’événements à un hôte d’événements.
Un récepteur d’événements est un fragment de code managé qui répond aux événements SharePoint Foundation chaque fois que des actions de déclenchement spécifiques se produisent sur des objets SharePoint. Parmi ces actions figurent de nombreuses activités, dont l’ajout, le déplacement, l’archivage et l’extraction. Les objets en attente d’événements sont appelés hôtes d’événements, et comprennent les objets tels que les collections de sites, les sites, les listes, les flux de travail ou les fonctionnalités.
Pratiquement tout objet SharePoint peut déclencher des événements interceptables par une ou plusieurs classes de récepteur d’événements. Lors du classement d’un événement SharePoint, il est utile de déterminer d’abord l’objet sur lequel l’événement est déclenché (c’est-à-dire, l’hôte d’événements), par exemple, une collection de sites, une liste ou un élément de liste, puis la nature de l’événement (synchrone ou asynchrone). Pour obtenir la liste des objets SharePoint Foundation qui déclenchent des événements interceptables, voir Catalogue des événements SharePoint Foundation.
Modèle d’événement SharePoint Foundation
Le modèle d’événement SharePoint Foundation repose sur un jeu commun de composants et de concepts, récapitulés dans les sections suivantes.
Evénements Before et After
Il existe deux catégories d’événements : les événements Before et les événements After. Les événements Before sont déclenchés lorsqu’une action spécifiée se produit avant que SharePoint Foundation n’écrive dans la base de données de contenu et sont, par conséquent, également appelés événements synchrones. Cela permet à SharePoint Foundation d’effectuer des tâches après qu’une action spécifiée s’est produite, mais avant que des données ne soient validées dans une base de données. Un bon exemple de l’utilisation d’événements Before synchrones est l’exécution d’une validation des données, dans la mesure où les événements Before sont déclenchés avant cette validation. Vous pouvez également utiliser des événements Before (ou synchrones) pour annuler des actions utilisateur, par exemple, si une validation des données échoue.
Le code de gestionnaire d’événements déclenché par un événement Before, c’est-à-dire, un gestionnaire d’événements Before, s’exécute dans le même processus que le code qui exécute l’action utilisateur qui l’a déclenché. C’est la raison pour laquelle les événements Before sont toujours synchrones. Notez que vous pouvez identifier les événements Before grâce au suffixe « ing » de leurs noms de membre, par exemple, ItemAdding, ListAdding, etc.
Les événements After, pour leur part, déclenchent des gestionnaires d’événements qui s’exécutent après la validation des actions utilisateur dans la base de données de contenu et ils appellent du code qui s’exécute après que la base de données de contenu a été modifiée. Cela permet de développer du code exécutant une logique qui se produit après qu’un utilisateur a terminé une action spécifique.
Étant donné que les événements After s’exécutent dans un processus différent de celui de l’action de déclenchement, ils peuvent s’exécuter de façon synchrone ou asynchrone. Vous pouvez identifier les événements After grâce au suffixe « ed » de leurs noms de membre, par exemple, ItemDeleted, WebProvisioned, etc.
Hôtes d’événements
Les hôtes d’événements sont des objets, tels que des collections de sites, des sites Web, des listes et des éléments de liste, en attente d’événements ou, en d’autres termes, des objets dont les récepteurs d’événements sont « à l’écoute » des événements SharePoint Foundation. Ces types d’objets hôte d’événements SharePoint Foundation 2010 comprennent les instances d’objets courants tels que SPSite, SPWeb, SPList et SPContentType. Chacun des types d’hôte d’événements possède des types de base de récepteur d’événements spécifiques dont vous pouvez hériter, pour créer une collection de récepteurs d’événements.
Pour obtenir la liste complète des types d’hôte et de leurs types de récepteur d’événements, voir Tableau des événements, des récepteurs d’événements et des hôtes d’événements SharePoint et Catalogue des événements SharePoint Foundation.
Récepteurs d’événements et gestion des événements
Les gestionnaires d’événements SharePoint Foundation constituent un module compilé de code managé personnalisé dont l’appel est déclenché par un événement donné que vous avez spécifié. Le code de gestionnaire d’événements est compilé dans un fichier .dll et déployé dans le GAC.
Les gestionnaires d’événements dans SharePoint Foundation permettent de gérer les événements SharePoint avec une souplesse exceptionnelle et un degré de précision très élevé.
Pour plus d’informations sur le développement d’un récepteur d’événements à l’aide de Visual Studio, voir Création d’un gestionnaire d’événements.
Liaison des gestionnaires d’événements
Une fois que votre code de gestionnaire d’événements est compilé et déployé dans le GAC, vous devez le lier à un objet récepteur. Également connue sous le terme « inscription », la liaison est le processus qui permet d’associer le code de gestionnaire d’événements à un type d’objet.
Il existe deux façons de lier des gestionnaires d’événements. Une méthode consiste à utiliser du XML déclaratif dans un Composant fonctionnel SharePoint, par type de liste ou par type de contenu. Pour plus d’informations, voir Liaison de gestionnaires d’événements à l’aide de Composants fonctionnels SharePoint.
L’autre méthode consiste à implémenter votre liaison de gestionnaire d’événements en écrivant du code qui implémente des classes dans le modèle objet SharePoint. Pour plus d’informations, voir Liaison d’un gestionnaire d’événements à l’aide du modèle objet SharePoint.
Voir aussi
Tâches
Procédure : créer une fonctionnalité Gestionnaire d'événements
Concepts
Liaison d’un gestionnaire d’événements SharePoint Foundation
Création d’un gestionnaire d’événements
Améliorations du modèle d’événements pour SharePoint Foundation 2010