Best Practices und Handlungsempfehlungen zur Entwicklung von Plug-Ins und Workflows für Common Data ServiceBest practices and guidance regarding plug-in and workflow development for the Common Data Service

In der folgenden Liste sind alle Best Practices und Handlungsempfehlungen zur Entwicklung von Plug-Ins und Workflows in Common Data Service aufgeführt.This list below contains all of the guidance and best practices regarding the plug-in and workflow development within the Common Data Service.

Best PracticeBest Practice BeschreibungDescription
Vermeiden von Batchanforderungstypen in Plug-Ins und WorkflowaktivitätenAvoid usage of batch request types in plug-ins and workflow activities Verwenden Sie nicht die ExecuteMultipleRequest- oder ExecuteTransactionRequest-Meldungsanforderungsklassen im Kontext eines Plug-Ins oder einer Workflowaktivität.You shouldn't use ExecuteMultipleRequest or ExecuteTransactionRequest message request classes within the context of a plug-in or workflow activity.
Entwickeln von zustandslosen IPlugin-ImplementierungenDevelop IPlugin implementations as stateless Member von Klassen, die IPlugin implementieren, sind potenziellen Threadsicherheitsproblemen ausgesetzt, die zu Problemen mit der Datenkonsistenz oder Leistung führen können.Members of classes that implement IPlugin are exposed to potential thread-safety issues which could lead to data inconsistency or performance problems.
Kein Duplizieren der Plug-In-SchrittregistrierungDo not duplicate plug-in step registration Eine Registrierung eines duplizierten Plug-in-Schritts bewirkt, dass das Plug-In bei der gleichen Meldung oder dem gleichen Ereignis mehrmals aktiv wird.Duplicate plug-in step registration will cause the plug-in to fire multiple times on the same message/event.
Einschließen von Filterattributen in die Plug-In-RegistrierungInclude filtering attributes with plug-in registration Wenn Sie keine Filterattribute für einen Plug-in-Registrierungsschritt festlegen, wird das Plug-In jedes Mal ausgeführt, wenn eine Aktualisierungsmeldung für dieses Ereignis auftritt.If no filtering attributes are set for a plug-in registration step, then the plug-in will execute every time an update message occurs for that event.
Beschränken der Registrierung von Plug-Ins für Retrieve- und RetrieveMultiple-MeldungenLimit the registration of plug-ins for Retrieve and RetrieveMultiple messages Wenn Sie den Retrieve- und RetrieveMultiple-Meldungsereignissen synchrone Plug-In-Logik hinzufügen, kann dies eine langsame Ausführung zur Folge haben.Adding synchronous plug-in logic to the Retrieve and RetrieveMultiple message events can cause slowness.
Optimieren der Entwicklung benutzerdefinierter AssemblysOptimize custom assembly development Zur Verbesserung der Leistung und Wartbarkeit empfiehlt es sich, unterschiedliche Plug-Ins oder benutzerdefinierte Workflowaktivitäten in einer einzelnen benutzerdefinierten Assembly zusammenzuführen. Wenn die Größe einer Assembly sich der maximalen Größe der Sandboxassembly annähert, sollten Sie Plug-Ins oder benutzerdefinierte Workflowaktivitäten in mehrere benutzerdefinierte Assemblys verschieben.Consider merging separate plug-ins/custom workflow activities into a single custom assembly to improve performance and maintainability and move plug-ins/custom workflow activities into multiple custom assemblies if an assembly size is near the sandbox assembly size constraints.
Festlegen von „KeepAlive“ auf FALSE bei der Interaktion mit externen Hosts in einem Plug-InSet KeepAlive to false when interacting with external hosts in a plug-in Wenn für die „KeepAlive“-Eigenschaft der Wert TRUE im HTTP-Anforderungsheader festgelegt wird oder die Eigenschaft nicht expliziert auf FALSE festgelegt wird, kann dies dazu führen, dass sich die Ausführungszeit von Plug-Ins erhöht.KeepAlive property set to true in the HTTP request header or not explicitly defined as false can cause increased execution times of plug-ins.
Verwenden von „InvalidPluginExecutionException“ in Plug-Ins und WorkflowaktivitätenUse InvalidPluginExecutionException in plug-ins and workflow activities Verwenden Sie „InvalidPluginExecutionException“ beim Auslösen von Fehlern im Kontext eines Plug-Ins oder einer Workflowaktivität.Use InvalidPluginExecutionException when raising errors within the context of a plug-in or workflow activity.

Siehe auchSee Also

Anwenden von Geschäftslogik mithilfe von CodeApply business logic using code
Verwenden von Plug-Ins zur Erweiterung von GeschäftsprozessenUse plug-ins to extend business processes
WorkflowerweiterungenWorkflow extensions