Custom Process Actions mit Code verwenden
Custom Process Actions, auch einfach Custom Actions genannt, sind eine von zwei Möglichkeiten, angepasste Nachrichten für die Microsoft Dataverse zu erstellen. Das andere ist Custom-APIs. Weitere Informationen: Custom-APIs erstellen und verwenden.
Beide dieser Funktionen ermöglichen das Erstellen neuer Nachrichten, die über Webdienste aufgerufen werden können. Benutzerdefinierte Prozessaktione bieten weiterhin eine no-code Möglichkeit, um synchrone Geschäftslogik deklarativ zu definieren. Benutzerdefinierte Prozessaktionen sind seit jeher synchrone „.Echtzeit“-Workflows und daher nicht geeignet, um auf die Verwendung von Power Automate umgestellt zu werden.
Einen Vergleich der Funktionalitäten von Custom Process Actions und Custom-APIs finden Sie unter Vergleich Custom Process Action und Custom-API.
Die Geschäftslogik einer Custom Process Action wird über einen Workflow implementiert. Wenn Sie eine angepasste Prozessaktion erstellen, wird der zugehörige Echtzeit-Workflow automatisch zur Ausführung in der Hauptvorgangsstufe der Pipeline zur Ausführung von Nachrichten registriert.
Für Entwickler bedeutet die Erstellung einer neuen Nachricht, dass Sie die Nachricht im Code mit der Web-API oder dem SDK für .NET verwenden können.
- Mit der Web-API sind die neuen Nachrichten, die mit Custom Process Actions erstellt werden, immer OData-Aktionen. Weitere Informationen zum Aufrufen von Aktionen über die Web-API finden Sie unter Web-API-Aktionen verwenden.
- Benutzerdefinierte Prozessaktionen können in Client-seitigem JavaScript in modellgesteuerten Apps verwendet werden, indem die Xrm.WebApi.online.execute-Methode verwendet wird.
- Beim SDK für .NET können die Nachrichten generisch in einem Stil mit später Bindung aufgerufen werden, indem die OrganizationRequest-Klasse oder früh gebundene Anforderungs- und Antwortklassen verwendet werden, die vom Power Platform CLI pac moelbuilder Build-Befehl generiert wurden.
Informationen zum Erstellen einer benutzerdefinierten Prozessaktion mithilfe des Workflow-Designers finden Sie unter: Erstellen einer benutzerdefinierten Prozessaktion
Erweitern von Custom Process Actions
Es gibt zwei Möglichkeiten, Custom Process Actions mit Code zu erweitern: mit angepassten Workflow-Aktivitäten oder durch die Registrierung von Plug-ins auf Stages.
Benutzerdefinierte Workflowaktivitäten
Da eine Custom Process Action ein Workflow ist, können Sie wiederverwendbare angepasste Workflow-Aktivitäten als Teil des Workflows in die Workflow-Definition aufnehmen. Weitere Informationen: Workflowerweiterungen
Plug-In-Schritte für Phasen in der Ausführungspipeline registrieren
Da eine Custom Process Action eine Nachricht erstellt, können Sie Plug-Ins Schritte auf den Stufen PreValidation
, PreOperation
und PostOperation
registrieren, um das Verhalten der Custom Process Action zu ändern. Entwickler haben damit die gesamte Logik für die Nachricht definiert, wobei häufig überhaupt keine Workflowlogik definiert wurde. Die Custom-API-Funktion vereinfacht dieses Code-First-Muster und bietet weitere Funktionalitäten, die mit Custom Workflow Aktivitäten nicht möglich sind.
Tipp
Wenn Sie Custom Process Actions bisher nur zur Implementierung von Logik mit Hilfe von Plug-ins verwendet haben, sollten Sie stattdessen auf eine angepasste Custom-API umsteigen. Weitere Informationen: Custom-APIs erstellen und verwenden
Die Nachricht für eine Custom Process Action ist nur verfügbar, wenn der Workflow, der sie definiert, aktiviert ist. Sie können keine Plug-In-Schritte für eine Custom Process Aktion registrieren, die nicht aktiv ist.
Wenn Sie Plug-In-Schritte für eine Custom Process Action registrieren, wird eine Abhängigkeit in der Lösung hergestellt, die das Löschen der Custom Process Action verhindert.
Erforderliche Berechtigungen
Ein Sicherheitsrecht mit der Bezeichnung Echtzeitprozesse aktivieren (prvActivateSynchronousWorkflow
) ist erforderlich, um einen Echtzeitworkflow der Aktion zu aktivieren, damit sie ausgeführt werden kann. Dieses Recht wird zusätzlich zu beliebigen Rechten benötigt, um einen Workflow erstellen.
Achten auf lang laufende Aktionen
Wenn einer der Schritte im Echtzeitworkflow der Aktion eine benutzerdefinierte Workflowaktivität ist, wird diese benutzerdefinierte Workflowaktivität innerhalb der isolierten Laufzeitumgebung des Sandkastens ausgeführt und unterliegt dem zweiminütigen Timeoutlimit, ähnlich wie Plug-Ins verwaltet werden. Es gibt allerdings keine bestimmte Einschränkungen für die Gesamtzeit, die die Aktion selbst benötigen kann. Diese fehlende Einschränkung ist kein Vorteil. Der Workflow kann nicht unbegrenzt ausgeführt werden. Es schlägt letztendlich aus verschiedenen Gründen fehl. Wenn beispielsweise eine Aktion an einer Transaktion mit aktiviertem Rollback teilnimmt, werden außerdem SQL Server-Timeouts angewendet. Achten Sie darauf, dass Ihre benutzerdefinierten Prozessaktionen mit einem eindeutigen Erfolg oder Misserfolg in einer angemessenen Zeitspanne abgeschlossen werden können. Alles, was länger als 2 Minuten dauert, ist wahrscheinlich zu lang.
Die vorhandenen Depth-Plattformprüfungen stellen sicher, dass keine Endlosschleife auftritt. Weitere Informationen zu diesen Tiefengrenzwerte finden Sie unter MaxDepth.
Tipp
Eine bewährte Vorgehensweise ist, dass zeitintensive Vorgänge außerhalb von Dataverse mithilfe von Power Automate, Logic Apps oder anderen von Azure bereitgestellten Funktionen ausgeführt werden sollten.
Siehe auch
Eine benutzerdefinierte Prozessaktion erstellen
Aktionen verwenden
Klassische Dataverse-Workflows
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).