Binden von Ereignishandlern mithilfe von Features.xml in SharePoint

Letzte Änderung: Freitag, 9. April 2010

Gilt für: SharePoint Foundation 2010

Sie können Ereignishandler für einen bestimmten Inhaltstyp in Microsoft SharePoint Foundation 2010 mithilfe eines SharePoint-Features definieren. Beispielsweise können Sie den Inhaltstyp "Kunde" definieren und in der Definition des Kundenverhaltens die Metadaten für den zugehörigen Ereignishandler festlegen.

Verwenden von SharePoint-Features

Zum Definieren von Inhaltstypen verwenden Sie ein SharePoint-Feature. Dabei erstellen Sie zwei XML-Dateien, die nachfolgend beschrieben werden:

  • Feature.xml   In dieser XML-Datei definieren Sie die Metadaten für das neue Feature. Im folgenden Beispielcode wird der Bereich des Features auf die Websiteebene festgelegt und ein eindeutiger Bezeichner für das neue Feature definiert. Mithilfe des ElementManifests-Elements wird anschließend auf den Speicherort der zweiten XML-Datei verwiesen, in der sämtliche Detailinformationen zum Feature selbst gespeichert sind.

    <?xml version="1.0" encoding="utf-8"?>
    <Feature Scope="Web" 
      Title="Simple Event Handler Registration" 
      Id="A6B8687A-3200-4b01-AD76-09E8D163FB9A" 
      xmlns="https://schemas.microsoft.com/sharepoint/">
      <ElementManifests>
        <ElementManifest Location="elements.xml"/>
      </ElementManifests>
    </Feature>
    
  • Elements.xml   In dieser Datei definieren Sie die Assembly, die den Ereignishandler kapselt, die Klasse selbst sowie die laufende Nummer, die die Reihenfolge angibt, falls mehrere Ereignishandler mit dem Feature verknüpft sind. Im folgenden Beispiel ist dargestellt, wie ein Ereignisempfänger gebunden wird, der auf die Ereignisse zum Löschen und Hinzufügen von Listenelementen reagiert.

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
      <Receivers ListTemplateId="104">
        <Receiver>
          <Name>MyEventHandlers</Name>
          <Type>ItemDeleting</Type>
          <SequenceNumber>10000</SequenceNumber>
          <Assembly>MyEventHandlers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4358f2a5344ff0dc</Assembly>
          <Class>MyEventHandlers.SimpleEventHandler</Class>
          <Data></Data>
          <Filter></Filter>
        </Receiver>
        <Receiver>
          <Name>MyEventHandlers</Name>
          <Type>ItemAdded</Type>
          <SequenceNumber>10000</SequenceNumber>
          <Assembly>MyEventHandlers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4358f2a5344ff0dc</Assembly>
          <Class>MyEventHandlers.SimpleEventHandler</Class>
          <Data></Data>
          <Filter></Filter>
        </Receiver>
      </Receivers>
    </Elements>
    

Informationen zu Inhaltstypen

Bei Inhaltstypen handelt es sich um wiederverwendbare Bausteine im SharePoint Foundation-Datenspeicher. Häufig enthält ein Inhaltstyp im Rahmen seiner XML-Definition einen oder auch mehrere Ereignisempfänger. Wenn ein Inhaltstyp an eine Zielliste gebunden wird, werden die im betreffenden Inhaltstyp enthaltenen Ereignisempfänger beispielsweise für die Zielliste registriert (bzw. an diese gebunden).

VorsichtVorsicht

Im Zusammenhang mit Ereignissen und Ereignisempfängern werden die Begriffe "registrieren" und "binden" oft synonym verwendet. In der vorliegenden Dokumentation wird vom "Binden" von Ereignisempfängern gesprochen. Sollten Sie manchmal vom "Registrieren" von Ereignisempfängern lesen, ist damit Dasselbe gemeint.

In Windows SharePoint Services 3.0 wurden Inhaltstypen im Datenspeicher eingeführt. Kurz gesagt ermöglichen Inhaltstypen die Wiederverwendung. Mithilfe von Inhaltstypen können Sie Objektklassen mit bestimmten Definitionen und den damit verknüpften möglichen Verhaltensweisen erstellen, beispielsweise Typname, Felder, Format, Geschäftsprozesse, Aufbewahrung, Überwachung und Ereignisverarbeitung.

Sie können in SharePoint-Listen und -Bibliotheken auch die Unterstützung für mehrere Inhaltstypen aktivieren. In diesem Fall können Sie der Liste oder Bibliothek eine oder mehrere dieser Klassen anfügen und sie so mit zusätzlichen Funktionen oder Verhaltensweisen erweitern. Beispielsweise könnten Sie eine Kundenliste um den Inhaltstyp Kontakt erweitern. Der Inhaltstyp Kontakt könnte der Kundenliste eine Reihe neuer Felder wie Kontaktname, Funktion, Telefonnummer usw. mit den entsprechenden neuen Verhaltensweisen bereitstellen.

Wenn Sie einen Ereignishandler an eine bestimmte Liste oder Bibliothek bzw. an eine bestimmte Gruppe von Listen oder Bibliotheken binden müssen, tun Sie dies in der Regel auf Featureebene. Sie können dazu jedoch auch die EventReceivers-Eigenschaft des entsprechenden Objekts direkt verwenden (beispielsweise EventReceivers für Inhaltstypen oder EventReceivers für Listenobjekte).

Im Hinblick auf Listen und Bibliotheken sind Features ein unteilbares SharePoint Foundation-Konzept, das die spezifischen CAML-Abschnitte (Collaborative Application Markup Language) repräsentiert, die früher alle in einer einzigen Datei (Schema.xml oder Onet.xml) konsolidiert waren. Diese CAML-Abschnitte sind isoliert, sodass sie an unterschiedlichen Stellen wiederverwendet werden können. Nun können Sie die Struktur und die Felddefinition einer Liste mithilfe eines SharePoint-Features erstellen.

Zum Binden des Ereignishandlers können Sie unter Verwendung des Featurekonzepts die Assembly an eine bestimmte Liste oder Bibliothek binden (indem Sie die GUID der Liste oder Bibliothek angeben) oder für einen bestimmten Listen- oder Bibliothekstyp (beispielsweise alle Dokument- oder Formularbibliotheken). Zum Definieren eines Features erstellen Sie dieselben zwei XML-Dateien (Feature.xml und Element.xml), wie unter Binden eines SharePoint Foundation-Ereignishandlers erläutert wurde.

Siehe auch

Aufgaben

Gewusst wie: Erstellen eines Ereignishandlerfeatures

Konzepte

Verwenden von Features

Ereignisregistrierungen

Beispiel: Erstellen eines Listenelement-Ereignishandlers

Verwenden von Features

Sicherheitsüberprüfung und POSTs zum Aktualisieren von Daten

Rechteerweiterungen

Weitere Ressourcen

Inhaltstypen