Tip til og kendte problemer med low-code-plug-ins i Microsoft Dataverse (forhåndsversion)
[Dette emne er til dokumentationen til den foreløbige udgivelse. Der kan forekomme ændringer.]
I denne artikel beskrives tip og kendte problemer, når du arbejder med low-code-plug-ins i Microsoft Dataverse.
Vigtigt
- Dette er en forhåndsversion af funktionen.
- Eksempelvisningsfunktionerne er ikke beregnet til produktionsformål og kan have begrænset funktionalitet. Disse funktioner er tilgængelige før en officiel udgivelse, så kunderne kan få tidlig adgang og give feedback.
Håndtere generelle kørselsproblemer
Hvis du oplever problemer med plug-in'en under kørsel, skal du redigere low-code-plug-in'en igen. Derefter vises IntelliSense-problemer på formeludtrykket i editoren til low-code-plug-ins. Følg retningslinjerne for at løse det problem, der også vises, og gem derefter plug-in'en igen.
Vær forsigtig, når du bruger programrettelser efter handlingen
Din kørsel af low-code-plug-ins kan støde på denne fejl, når Patch
bruges i en efter-handling: 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.
Brug af Patch
i et efter-handlingsscenario skal udføres med forsigtighed for at undgå uendelig løkker. En Patch
-handling starter en ny transaktion. Hvis f.eks. en opdateringsudløser for MyTable
aktiverer Patch(MyTable, ThisRecord, ...)
, kan denne handling resultere i en rekursiv opdateringscyklus.
Her er et par eksempler på handlinger, der kan undgå dette problem:
Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.
Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.
Håndtere timeout på to minutter
I forbindelse med handlinger, der fortsætter i to minutter eller længere, kan du modtage denne fejl:
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)
Når du arbejder med Dataverse-low-code-plug-ins, er det vigtigt at administrere timeouttet i to minutter på en effektiv måde:
- Begræns antallet af
Patch
- ogCollect
-handlinger i dine plug-ins, især hvis der allerede er registreret andre plug-ins i forhold til den pågældende tabel, hvilket kan påvirke ydeevnen i dine plug-ins. - Overvåg ydeevne. Hold øje med ydeevnen i dine plug-ins, og overvej at bruge sporings- og logføringsfunktionerne i Dataverse til at spore udførelsestider og fejl. Ved at følge disse retningslinjer kan du sikre, at dine low-code-plug-ins kører problemfrit i Dataverse-miljøet uden afbrydelser, der skyldes timeout i to minutter. Flere oplysninger: Sporing og logføring
Mislykket svar modtaget fra APIM
Hvis du modtager denne fejlmeddelelse, som kan returneres fra APIM (API Management), skal du blot redigere plug-in'en og derefter gemme den igen. Når du gemmer, initialiseres APIM-godkendelse, og plug-in'en starter udførelsen korrekt.
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