Delen via


Microsoft Dataverse-tips voor invoegtoepassingen met weinig code en bekende problemen (preview)

[Dit onderwerp maakt deel uit van de voorlopige documentatie en kan nog veranderen.]

Dit artikel behandelt tips en bekende problemen bij het werken met invoegtoepassingen met weinig code in Microsoft Dataverse (preview).

Belangrijk

  • Dit is een preview-functie.
  • Preview-functies zijn niet bedoeld voor productiegebruik en bieden mogelijk beperkte functionaliteit. Deze functies zijn beschikbaar voor een officiële release zodat klanten vroeg toegang kunnen krijgen en feedback kunnen geven.

Algemene runtimeproblemen oplossen

Als u problemen ondervindt met de runtime-invoegtoepassing, bewerkt u de invoegtoepassing met weinig code opnieuw. Vervolgens worden de Intellisense-problemen met uw formule-expressie weergegeven in de low-code plug-in-editor. Volg de richtlijnen om het probleem op te lossen dat ook wordt weergegeven, en sla de invoegtoepassing opnieuw op.

Wees voorzichtig bij de toepassing van een patch na de bewerking

Bij het uitvoeren van uw invoegtoepassing met weinig code kan deze fout optreden bij gebruik van Patch in een post-bewerking: 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.

Het gebruik van Patch in een post-bewerkingsscenario moet voorzichtig worden omgegaan met het vermijden van oneindige lussen. Een Patch-bewerking initieert een nieuwe transactie. Als een updatetrigger voor MyTable bijvoorbeeld Patch(MyTable, ThisRecord, ...) aanroept, kan deze bewerking resulteren in een recursieve updatecyclus.

Hier volgen enkele voorbeelden van bewerkingen waarmee dit probleem kan worden vermeden:

  • Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.
  • Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.

De time-out van twee minuten verwerken

Voor bewerkingen die twee minuten of langer duren, kunt u deze foutmelding krijgen:

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)

Wanneer u met Dataverse-invoegtoepassingen met weinig code werkt, is het belangrijk om de time-out van twee minuten effectief te beheren:

  • Beperk uw aantal Patch- en Collect-bewerkingen binnen uw invoegtoepassingen, vooral als u al andere invoegtoepassingen voor die tabel heeft geregistreerd, wat de prestaties van uw invoegtoepassing kan beïnvloeden.
  • Prestaties bijhouden. Houd de prestaties van uw invoegtoepassingen in de gaten en overweeg het gebruik van tracerings- en logboekregistratiemogelijkheden binnen Dataverse om uitvoeringstijden en fouten bij te houden. Door deze richtlijnen te volgen, kunt u ervoor zorgen dat uw invoegtoepassingen met weinig code soepel werken binnen de Dataverse-omgeving, zonder onderbrekingen die worden veroorzaakt door de time-out van twee minuten. Meer informatie: Volgen en loggen

Mislukt antwoord ontvangen van APIM

Als u deze foutmelding ontvangt, die kan worden geretourneerd vanuit API-beheer (APIM), bewerkt u gewoon de invoegtoepassing en slaat u deze vervolgens opnieuw op. Door op te slaan wordt de APIM-verficiatie geïnitialiseerd en wordt uw invoegtoepassing met succes uitgevoerd.

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

Zie ook

Invoegtoepassingen met weinig code gebruiken in Dataverse