Freigeben über


Ersetzen von Ereignisempfängern in Sandboxlösungen

Der Ansatz, den Sie verwenden, um Ereignisse in SharePoint zu behandeln, unterscheidet sich im SharePoint-Add-In-Modell etwas von dem bei voll vertrauenswürdigem Code oder in coded-Sandbox-Lösungen. In typischen früheren Lösungen wurden Ereignisempfänger mithilfe des SharePoint-Server-Side-Objektmodells erstellt und über Lösungspakete bereitgestellt, die den Code auf den SharePoint-Servern ausgeführt haben.

Im SharePoint-Add-In-Modell wird die Ereignisempfängerimplementierung jedoch auf dem Webserver ausgeführt, auf dem der Ereignisempfänger gehostet wird. Diese werden als Remoteereignisempfänger (RERs) bezeichnet. Ereignisempfänger können in vielen Fällen durch eine Remoteereignisempfängerimplementierung ersetzt werden.

In diesem Artikel werden verschiedene Optionen und Entwurfsüberlegungen beschrieben.

Hinweis

Codebasierte Sandkastenlösungen sind seit 2014 veraltet, und in SharePoint Online wird diese Funktion Zug um Zug vollständig entfernt. Codebasierte Sandkastenlösungen sind auch in SharePoint 2013 und SharePoint 2016 veraltet.

Optionen zum Ersetzen von Ereignisempfängern

Ansatz Überlegungen zum Entwurf und weitere Informationen
Remoteereignisempfänger
  • Erfordert eine Hostinginfrastruktur.
  • Die Hostinginfrastruktur muss hochverfügbar sein.
  • Der Dienstendpunkt, der den Remoteereignisempfänger hostet, muss für die anonyme Authentifizierung konfiguriert werden.
  • Erfordert ein vertrauenswürdiges Drittanbieterzertifikat, wenn Sie SharePoint Online verwenden.
  • Nicht für zeitintensive Vorgänge vorgesehen.
  • Remoteereignisempfänger, die außerhalb des Kontexts von Add-Ins angefügt sind und über eine Konsolenanwendung oder PowerShell angefügt werden, erhalten beim Aufrufen kein SharePoint-Kontexttoken, und Sie müssen auf Add-In-only-Berechtigungen zurückstellen oder die SharePointOnlineCredentials-Klasse verwenden.
  • Es gibt keinen Wiederholungsmechanismus.
Webhooks
  • Hostinginfrastruktur erforderlich.
  • Die Hostinginfrastruktur muss hochverfügbar sein.
  • Synchrone Ereignisse werden nicht unterstützt.
  • Verarbeiten von Änderungen, nachdem das Ereignis aufgetreten ist.
  • Derzeit nicht in lokalen SharePoint-Builds verfügbar.
Remote-Zeitgeberauftrag zum Überwachen von Änderungen
  • Verwendet das ChangeQuery-Objekt , um eine Website oder Liste auf Änderungen zu überwachen. Dieses Muster ist eine Alternative zu Remoteereignisempfängern.
  • Erfordert eine Hostinginfrastruktur.
  • Verarbeitet Änderungen, nachdem das Ereignis aufgetreten ist.
  • Verwendet einen Abrufmechanismus zum Verarbeiten von Änderungen.

Entfernen von Sandkastencode von Ihrer Website

Wenn Sie Ihre vorhandene Sandboxlösung von Ihren Websites deaktivieren, werden alle Ressourcen oder Dateien, die mithilfe deklarativer Optionen bereitgestellt werden, nicht entfernt. Die Features in der Sandboxlösung werden jedoch automatisch deaktiviert, und der Ereignisempfänger wird entfernt.

Siehe auch