Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Dieses Thema ist eine Vorabdokumentation und kann geändert werden.]
In diesem Artikel werden Tipps und bekannte Probleme beim Arbeiten mit Plug-Ins mit geringem Code in Microsoft Dataverse beschrieben.
Von Bedeutung
- Sofortige Plug-Ins mit geringem Code werden entprioritisiert und werden nicht als Feature bereitgestellt. Sofortige Plug-Ins mit geringem Code werden durch Funktionen ersetzt. Weitere Informationen: Funktionen in Microsoft Dataverse (Vorschau)
- Dies ist eine Vorschaufunktion.
- Previewfunktionen sind nicht für den Produktionseinsatz gedacht und können eine eingeschränkte Funktionalität aufweisen. Diese Funktionen sind vor einer offiziellen Veröffentlichung verfügbar, damit Kunden frühzeitig zugreifen und Feedback geben können.
Behandeln allgemeiner Laufzeitprobleme
Wenn Sie probleme mit dem Runtime-Plug-In haben, bearbeiten Sie das Plug-In mit geringem Code neu. Anschließend werden die IntelliSense-Probleme Ihres Formelausdrucks im Low-Code-Plug-In-Editor angezeigt. Befolgen Sie die Richtlinien, um das ebenfalls angezeigte Problem zu beheben und das Plug-In dann erneut zu speichern.
Vorsicht bei der Verwendung von Patchen nach der Operation
Bei der Ausführung Ihres Low-Code-Plug-Ins tritt möglicherweise dieser Fehler auf, wenn Sie nach einem Vorgang Patch verwenden: Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException 1[Microsoft.Xrm.Sdk.OrganizationServiceFault] This low-code plugin's execution was cancelled because the plugin logic caused an infinite loop. Correct the plugin logic and try again.
Der Einsatz von Patch in einem Szenario nach Abschluss eines Vorgangs muss mit Vorsicht erfolgen, um endlose Schleifen zu vermeiden. Ein Patch Vorgang initiiert eine neue Transaktion. Wenn beispielsweise ein Update-Trigger für MyTable ausgelöst wird und Patch(MyTable, ThisRecord, ...) aufruft, kann dieser Vorgang zu einem rekursiven Aktualisierungszyklus führen.
Im Folgenden finden Sie einige Beispiele für Vorgänge, die dieses Problem vermeiden können:
Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.
Verwalten des zweiminütigen Timeouts
Für Vorgänge, die zwei Minuten oder länger fortgesetzt werden, können Sie diesen Fehler erhalten:
Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException1[Microsoft.Xrm.Sdk.OrganizationServiceFault]: Operation not allowed as plugin execution exceeded maximum allowed time (Fault Detail is equal to Exception details: limit your callbacks .. Create, Update)
Beim Arbeiten mit Dataverse Low-Code-Plug-Ins ist es wichtig, das zweiminütige Timeout effektiv zu verwalten:
- Beschränken Sie Ihre Anzahl an
Patch- undCollect-Vorgängen in Ihren Plug-Ins, insbesondere wenn Sie andere Plug-Ins bereits für diese Tabelle registriert haben, da dies die Leistung Ihrer Plug-Ins beeinflussen kann. - Überwachen sie die Leistung. Achten Sie auf die Leistung Ihrer Plug-Ins und erwägen Sie die Verwendung von Ablaufverfolgungs- und Protokollierungsfunktionen innerhalb von Dataverse, um Ausführungszeiten und Fehler nachzuverfolgen. Anhand dieser Richtlinien können Sie sicherstellen, dass Ihre Low-Code-Plug-Ins reibungslos innerhalb der Dataverse-Umgebung laufen, ohne Unterbrechungen aufgrund des zweiminütigen Timeouts. Weitere Informationen: Nachverfolgung und Protokollierung
Fehlgeschlagene Antwort, die von APIM empfangen wurde
Wenn Sie diese Fehlermeldung erhalten, die von der API-Verwaltung (APIM) zurückgegeben werden kann, bearbeiten Sie einfach das Plug-In, und speichern Sie es dann erneut. Das Speichern initialisiert die APIM-Authentifizierung, und Ihr Plug-In wird erfolgreich ausgeführt.
Execution failed for PowerPlexPlugin: Failed response received from APIM; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" } Method: POST; RequestUri: https://canada-001.azure-apim.net/invoke; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" }; HeadersString: Headers - 'Access-Control-Allow-Methods': 'System.String[]'; 'Access-Control-Allow-Origin': 'System.String[]'; 'Access-Control-Max-Age': 'System.String[]'; 'Access-Control-Expose-Headers': 'System.String[]'; 'Date': 'System.String[]'; Access to APIM expires..edit and save the plugin