Freigeben über


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

Diese Liste enthält alle Anleitungen und bewährten Methoden für die Plug-In- und Workflow-Entwicklung in 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 führt dazu, dass das Plug-In bei derselben Nachricht bzw. demselben 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.
Implementierung aller Arten von Abfragen bei der Ergebnisfilterung mit PreOperationRetrieveMultiple 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 Plug-Ins 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 Aufrufe eine Antwort innerhalb von Plug-Ins 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.
Speichereffizienten Code schreiben Rufen Sie nur Daten in Ihrem Plugin ab, die benötigt werden.

Siehe auch

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