Neue Ereignisbindungsfunktionalität in SharePoint Foundation 2010

Letzte Änderung: Donnerstag, 8. April 2010

Gilt für: SharePoint Foundation 2010

Inhalt dieses Artikels
Bindung auf der Ebene "SPSite"
Bindung von XML-Ereignisempfängern
Ereignisbindung nach Listenvorlage

In Microsoft SharePoint Foundation 2010 wurden der Umfang und die Möglichkeiten zum Binden von Ereignissen erweitert. Zu den Neuerungen zählt die Fähigkeit, Ereignisse im Gültigkeitsbereich der Websitesammlung (SPSite) zu binden sowie XML-Ereignisempfänger zu binden, die auf die jeweilige Website beschränkt sind (SPWeb).

Bindung auf der Ebene "SPSite"

Zur Unterstützung verbesserter Funktionen für die Listen- und Websiteerstellung wird von SharePoint Foundation 2010 eine Auflistung von Ereignisempfängern auf SPSite-Ebene unterstützt. Wie andere Auflistungen von Ereignisempfängern akzeptiert auch diese Bindungen von SPWebEventReceiver-, SPListEventReceiver- und SPItemEventReceiver-Objekten. Alle diese Ereignistypen können auf die Ebene der Websitesammlung beschränkt werden (d. h. SPSite). Ein SPEmailEventReceiver-Objekt kann jedoch aufgrund seiner spezifischen Implementierung auf Websitesammlungsebene nicht verwendet werden.

Bindung von XML-Ereignisempfängern

In SharePoint Foundation 2010 wird die Bindung von XML-Ereignisempfängern in den Gültigkeitsbereichen der SPWeb- und SPSite-Instanz mithilfe des <Receivers>-Tags unterstützt.

Wenn ein SharePoint-Feature auf die Websitesammlungsebene beschränkt ist, kann ein <Receivers>-Tag mehrdeutig sein. Das Tag kann entweder eine websiteweite Ereignisbindung oder eine Ereignisbindung auf der Website auf oberster Ebene angeben. Beachten Sie jedoch, dass das default-Verhalten auf die Websiteebene beschränkt ist.

Wenn Sie daher ein Feature auf die Websitesammlungsebene beschränken, verwenden Sie das Attribut mit dem Namen Scope, um den gewünschten Gültigkeitsbereich anzugeben. Wenn Sie dieses Attribut auf Site festlegen, werden Ereignisempfänger, die innerhalb eines auf die Websitesammlung beschränkten Features definiert sind, dann auf der Websitesammlungsebene gebunden. Wird das Attribut auf Web festgelegt, werden Ereignisempfänger, die für ein Feature einer Websitesammlung definiert sind, auf der Stammwebsiteebene dieser Websitesammlung gebunden.

Ereignisbindung nach Listenvorlage

In SharePoint Foundation 2010 wird die Ereignisbindung auf Grundlage des SPItemEventReceiver-Ereignisempfängers unterstützt, indem die Semantik der ListTemplateId-Eigenschaft verwendet wird. Bei dieser Vorgehensweise wird eine Ereignisempfängerdefinition erstellt, die beim Erstellen der Liste auf die Liste beschränkt wird.

Ein praktisches Ergebnis dieses Features besteht darin, dass Sie die Bindung in featurebasierter XML angeben können (siehe das folgende Beispiel).

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

Mit der vorherigen XML wird eine Klasse namens TrackbackEventsReceiver gebunden, die von der SPItemEventReceiver-Klasse abgeleitet ist. TrackbackEventsReceiver implementiert die ItemAdded(SPItemEventProperties)-Methode für alle Listen mit dem Vorlagen-ID-Typ 301 bei deren Erstellung oder für alle vorhandenen Listen, wenn das entsprechende Feature aktiviert ist.

In SharePoint Foundation 2010 wird auch die Ereignisbindung auf Grundlage des SPItemEventReceiver-Objekts in der XML eines angegebenen Inhaltstyps unterstützt.

Siehe auch

Konzepte

Neue Ereignisse in SharePoint Foundation 2010