Nouvelle fonctionnalité de liaison des événements dans SharePoint Foundation 2010
Dernière modification : jeudi 8 avril 2010
S’applique à : SharePoint Foundation 2010
Dans cet article
Liaison au niveau SPSite
Liaison de récepteurs d’événements XML
Liaison d’événements par modèle de liste
Microsoft SharePoint Foundation 2010 étend la plage et les moyens vous permettant de lier les événements. Entre autres innovations, il y a la possibilité de lier les événements dans l’étendue de la collection de sites (SPSite), et de lier les récepteurs d’événements XML qui sont limités au site individuel (SPWeb).
Liaison au niveau SPSite
Pour prendre en charge la fonctionnalité améliorée de création de listes et de sites, SharePoint Foundation 2010 gère une collection de récepteurs d’événements de niveau SPSite. À l’instar d’autres collections de récepteurs d’événements, celle-ci accepte les liaisons provenant des objets SPWebEventReceiver, SPListEventReceiver et SPItemEventReceiver. Tous ces types d’événements peuvent être limités au niveau de la collection de sites (à savoir, SPSite). Cependant, un objet SPEmailEventReceiver ne fonctionne pas au niveau de la collection de sites, en raison de la façon dont cet objet est implémenté.
Liaison de récepteurs d’événements XML
SharePoint Foundation 2010 prend en charge la liaison des récepteurs d’événements XML aux étendues des instances à la fois SPWeb et SPSite en utilisant la balise <Receivers>.
Lorsqu’un Composant fonctionnel SharePoint est délimité au niveau collection de sites, une balise <Receivers> est potentiellement ambigüe. La balise peut indiquer soit une liaison d’événements à l’échelle du site soit une liaison d’événements pour le site de niveau supérieur. Notez, toutefois, que le comportement default est de délimiter au niveau du site.
Par conséquent, lorsque vous délimitez un Composant fonctionnel au niveau de la collection de sites, utilisez l’attribut nommé Scope pour spécifier l’étendue visée. Quand vous affectez à cet attribut la valeur « Site », les récepteurs d’événements qui sont définis dans un Composant fonctionnel qui est délimité à la collection de sites sont ensuite liés au niveau de la collection de sites. Quand l’attribut a la valeur « Web », les récepteurs d’événements qui sont définis pour un Composant fonctionnel d’une collection de sites sont liés à la racine du site Web de cette collection de sites.
Liaison d’événements par modèle de liste
SharePoint Foundation 2010 prend en charge la liaison d’événements sur la base du récepteur d’événements SPItemEventReceiver en utilisant la sémantique de la propriété ListTemplateId. Cette approche crée une définition de récepteur d’événements qui est délimitée à la liste lorsque celle-ci est créée.
Un résultat pratique de cette fonctionnalité est que vous pouvez spécifier la liaison dans un code XML basé sur les fonctionnalités, comme illustré dans l’exemple suivant.
<Receivers ListTemplateId="301">
<Receiver>
<Name>Blog post event handler for new trackbacks</Name>
<Type>ItemAdded</Type>
<SequenceNumber>1000</SequenceNumber>
<Assembly>Trackback, Version=1.0.0.0, Culture=neutral, PublicKeyToken=64e9de3efe88d9da</Assembly>
<Class>Trackback.TrackbackEventsReceiver</Class>
<Data>Property Logger</Data>
</Receiver>
</Receivers>
Le code XML qui précède lie une classe nommée TrackbackEventsReceiver, qui dérive de la classe SPItemEventReceiver. TrackbackEventsReceiver implémente la méthode ItemAdded(SPItemEventProperties) pour toutes les listes du type ID modèle « 301 » quand elles sont créées, ou pour les listes existantes lorsque la fonctionnalité respective est activée.
SharePoint Foundation 2010 prend également en charge la liaison des événements basée sur l’objet SPItemEventReceiver dans le code XML d’un type de contenu spécifié.