Lokale Plug-in-Entwicklung

Ein Plug-In ist die benutzerdefinierte Geschäftslogik (Code), die Sie in Dynamics 365 Customer Engagement (on-premises) integrieren können, um das Standardverhalten der Plattform zu ändern oder zu erweitern. Plug-Ins können außerdem als Handler für Ereignisse betrachtet werden, die durch Dynamics 365 Customer Engagement (on-premises) ausgelöst werden. Sie können für ein Plug-In eine bekannte Gruppe von Ereignissen abonnieren (das Plug-In für die Ereignisse registrieren), damit Ihr Code ausgeführt wird, wenn das Ereignis auftritt.

Weitere Informationen zum Überprüfen Ablaufausführung, siehe Ereignisframework.

Notiz

In der folgenden Dokumentation werden zusätzliche Optionen beschrieben, die nur in lokalen Umgebungen verfügbar sind. Allgemeine Informationen zum Schreiben von Plug-Ins, die sowohl für lokale als auch für Online-Bereitstellungen geeignet sind, finden Sie im Thema Verwenden Sie Plug-Ins, um Geschäftsprozesse zu erweitern in der Dataverse Dokumentation.

Bewährte Methoden für lokale Plug-In Entwicklung

Dieser Abschnitt enthält die bewährten Methoden, die spezifisch für lokale Plug-In Entwicklung ist

Verlassen Sie sich nicht auf Referenzen für Variablen, die in Plug-Ins übergeben werden

In einer lokalen Umgebung, in der volle vertrauenswürdige Plug-Ins in der gleichen App-Domäne ausgeführt werden, sollten Sie nicht erwarten, dass eine Variable, die sich auf Daten bezieht, die im Plug-In Kontext enthalten sind, einem Verweis auf das Objekt dient.

Wenn Daten in die Ereignispipeline übergeben werden, werden die Daten serialisiert und de-serialisiert, um neue Objektinstanzen zu erstellen. Die Objektinstanzen beziehen sich nicht auf die selbe Speicheradresse. Alle Änderungen am Objekt in der Plug-In Ausführungspipeline werden nicht in einer Objektinstanz angezeigt, die in einem Vorgang in der Pipeline überschritten wurde.

Wenn Sie beispielsweise eine QueryExpression definieren, die in einem RetrieveMultipleRequest enthalten ist, wenn dafür ein Code innerhalb eines Plug-Ins vorhanden ist, das den QueryExpression ändert, tritt diese Änderung nicht auf den ursprünglichen QueryExpressions-Instanzvariable ein, die der RetrieveMultiple-Anforderung weitergegeben wurde. Innerhalb der Pipeline werden die QueryExpressions-Objekteigenschaften bei dem Abrufen der Daten aktualisiert. Zum Beispiel wird die Eigenschaft QueryExpression.PageInfo als Teil der Ausführung der Abfrage aktualisiert. Es ist nicht möglich, diese Änderungen zu ermitteln, indem Sie die erste QueryExpressions-Variable suchen, die mit dem RetrieveMultipleRequest verwendet wurde.

Wo sollten Plug-Ins und benutzerdefinierte Workflowaktivitäten festgelegt werden?

Für Plug-Ins oder benutzerdefinierte Workflowaktivitäten stellen Sie die Assemblys in den Ordner <installdir>\Server\bin\assembly.

In diesem Abschnitt

Identitätswechsel in Plug-Ins

Registrieren und Bereitstellen von Plug-Ins

Debuggen eines Plug-Ins

Zugriff auf externe Web-Ressourcen

Offline Plug-in-Ausführung

Schreiben von Plug-Ins, um Geschäftsprozesse zu erweitern
Webdienst-Authentifizierung und Identitätswechsel
Verwenden von Plug-Ins zur Erweiterung von Geschäftsprozessen in Dataverse