Bewährte Methoden und Anleitungen zur Plug-In- und Workflow-Entwicklung für den Microsoft Dataverse

Diese Liste enthält alle Anleitungen und bewährten Methoden für die Plug-In- und Workflow-Entwicklung innerhalb von Dataverse.

Bewährte Methode Beschreibung
Vermeiden Sie die Verwendung von Batch-Requesttypen in Plugins und Workflow-Aktivitäten Sie sollten die Nachrichtenanforderungsklassen ExecuteMultipleRequest oder ExecuteTransactionRequest nicht im Rahmen einer Plug-in- oder Workflow-Aktivität verwenden.
Entwicklung von IPlugin-Implementierungen als zustandslose Systeme Mitglieder von Klassen, die iPlugin implementieren, sind potenziellen Thread-Sicherheitsproblemen ausgesetzt, die zu Dateninkonsistenz- oder Performanceproblemen führen können.
Keine Registrierung von Plug-in-Schritten duplizieren Die Registrierung eines doppelten Plug-in-Schrittes bewirkt, dass das Plug-in bei derselben Nachricht/Ereignis mehrmals ausgelöst wird.
Verwenden Sie keine parallele Ausführung in Plug-Ins und Workflow-Aktivitäten Multithreading oder paralleles Threading in Plug-Ins oder benutzerdefinierten Workflowaktivitäten wird nicht unterstützt.
Implementieren Sie alle Arten von Abfragen bei der Filterung von Ergebnissen mit PreOperation RetrieveMultiple Für beste Leistung und konsistente Ergebnisse für alle Anwendungen müssen Sie die Filterung für alle Arten von Abfragen implementieren, die mit Plugins verwendet werden können, die für die Phase PreOperation von RetrieveMultiple registriert sind
Einbeziehen von Filterattributen mit Plugin-Registrierung Wenn für einen Registrierungsschritt des Plugins keine Filterattribute festgelegt sind, wird das Plug-in jedes Mal ausgeführt, wenn eine Update-Meldung für dieses Ereignis auftritt.
Einschränkung der Registrierung von Plugins für Retrieve- und RetrieveMultiple-Nachrichten Das Hinzufügen von synchroner Plugin-Logik zu den Nachrichtenereignissen Retrieve und RetrieveMultiple kann zu Verzögerungen führen.
Plug-Ins in einer einzigen Lösung verwalten Die Definition einer Plug-In-Assembly sollte in einer einzigen Lösung verwaltet werden.
Optimierung der Entwicklung kundenspezifischer Assemblies Erwägen Sie, separate Plug-Ins/Anpassungen von Arbeitsabläufen in einer einzigen benutzerdefinierten Assembly zusammenzuführen, um die Leistung und Wartbarkeit zu verbessern, und verschieben Sie Plug-Ins/Anpassungen von Arbeitsabläufen in mehrere benutzerdefinierte Assemblies, wenn sich eine Assembly-Größe in der Nähe der Größenbeschränkungen von Sandbox-Assemblys befindet.
KeepAlive auf falsch setzen, wenn Sie mit externen Hosts in einem Plug-in interagieren Die KeepAlive-Eigenschaft, die im HTTP-Request-Header auf true gesetzt oder nicht explizit als false definiert ist, kann zu längeren Ausführungszeiten von Plug-Ins führen.
Timeout einstellen bei externen Anrufen in einem Plugin Begrenzen Sie den Zeitraum, in dem externe Anrufe eine Antwort innerhalb von Plugins erwarten.
InvalidPluginExecutionExceptionException in Plugins und Workflow-Aktivitäten verwenden Verwenden Sie InvalidPluginExecutionException, wenn Sie im Rahmen einer Plug-in- oder Workflow-Aktivität Fehler melden.
ITracingService in Plug-Ins verwenden Verwenden Sie den ITracingService in Ihren Plug-Ins, um Einblicke in das zu erhalten, was passiert, wenn Ihr Code ausgeführt wird.
Überprüfen von Zertifizierungsabhängigkeiten für Plug-Ins, die ausgehende Anrufe tätigen Stellen Sie sicher, dass alle Zertifikate, von denen Ihr Code für ausgehende Anrufe abhängt, eine gültige Zertifikatskette haben.

Siehe auch

Geschäftslogik mit Code anwenden
Verwenden von Plug-Ins zur Erweiterung von Geschäftsprozessen
Workflowerweiterungen

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).