Featureereignisse

Letzte Änderung: Montag, 27. Dezember 2010

Gilt für: SharePoint Foundation 2010

Microsoft SharePoint Foundation stellt Klassen zum Antworten auf Featureereignisse bereit, mit denen Sie ein Ereignis abfangen und darauf antworten können, das bei der Installation eines Features in der Serverfarm, beim Hinzufügen eines Features zu einem neuen virtuellen Server oder beim Entfernen eines Features ausgelöst wird.

Einige dieser Ereignisse sind Nachfolgeereignisse, d. h., sie werden ausgelöst, nachdem für das entsprechende Verhalten ein Commit ausgeführt wurde und die Featuredefinition in der Auflistung der Featuredefinitionen für die Farm erstellt wurde.

Die Installation oder Deinstallation kann über Featureereignisse nicht abgebrochen werden.

Featureereignisklassen

  • Microsoft.SharePoint.SPFeatureReceiver   Abstrakte Basisklasse, die zum Implementieren der Aktivierung, Deaktivierung, Installation, Deinstallation oder des Upgrades eines Features überschrieben werden kann.

  • Microsoft.SharePoint.SPFeatureReceiverProperties   Klasse, die Zugriff auf Ereigniseigenschaften, z. B. auf die erstellte Featureinstanz, bereitstellt für die Featuredefinition oder das übergeordnete Objekt des Features.

Feature bereitstellende Ereignishandler

Mit Feature bereitstellenden Handlern können Sie spezifischen Code schreiben, um verschiedene Ereignisse im Lebenszyklus eines Features zu behandeln. Die SPFeatureReceiver-Klasse stellt die folgenden Methoden für das Behandeln von Ereignissen bereit:

Erstellen Sie zum Implementieren von bereitstellenden Ereignishandlern eine Klasse, die von SPFeatureReceiver abgeleitet ist, und implementieren Sie diese Methoden. Es wird immer der Zeiger auf das übergeordnete Objekt übergeben, sodass Sie bei Bedarf Anpassungen vornehmen können. Die Assembly, die einen Featureempfänger enthält, muss sich im globalen Assemblycache (Global Assembly Cache, GAC) befinden. In der Datei Feature.xml können Sie einen Featureempfänger über die Attribute ReceiverAssembly und ReceiverClass des Feature-Elements auf oberster Ebene registrieren. Ein Beispiel:

<Feature Id="5E88AE4E-2ECB-4CC5-B9EC-9019250F5BC8"
  Title="Knowledge Base Infrastructure"
  Scope="Site"
  ReceiverAssembly="MS.Samples.SharePoint.KnowledgeBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d24e3c1752ded9ed"
ReceiverClass="MS.Samples.SharePoint.KnowledgeBase.KnowledgeBaseInstaller" 
  xmlns="https://schemas.microsoft.com/sharepoint/">

Alle während des Aktivierungsvorgangs ausgegebenen Ausnahmen werden dem Benutzer mitgeteilt, und das Feature wird nicht als aktiviert gekennzeichnet.

Schreiben Sie Code, der die Fälle behandelt, in denen ein Benutzer versucht, die Aktivierung des Features zu erzwingen, auch wenn es bereits aktiviert ist. Wenn beispielsweise vom Ereignishandler im Featureempfänger eine Liste erstellt wird, müssen Sie überprüfen, dass vom Code kein Fehler ausgegeben wird, falls die Liste bereits vorhanden ist.