Microsoft Dataverse plugin-program med låg kod och kända problem (förhandsversion)
[Det här ämnet är en förhandsversion av dokumentationen och kan ändras.]
Denna artikel beskriver tips och kända problem när man arbetar med plugin-program med låg kod i Microsoft Dataverse.
Viktigt
- Detta är en förhandsversion.
- Förhandsversionsfunktioner ska inte användas i produktion och funktionerna kan vara begränsade. Funktionerna är tillgängliga före den officiella publiceringen så att kunderna kan få tillgång tidigare och ge oss feedback.
Hantera allmänna körningsproblem
Om du stöter på problem med plugin-program för körning, redigera plugin-programmet med låg kod igen. Sedan visas intellisense-problemen på ditt formeluttryck i plugin-redigerare med låg kod. Följ riktlinjerna för att åtgärda problemet som också visas och återse sedan plugin-programmet.
Var försiktig när du använder programkorrigering efter användning
Ditt plugin-programmet med låg kod kan stöta på detta fel vid användning Patch
i en poståtgärd: 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.
Användning av Patch
i ett scenario med poståtgärd måste göras med varning för att oändliga slingor. En Patch
åtgärd initierar en ny transaktionen. Till exempel om en uppdatering utlösare för MyTable
anropar Patch(MyTable, ThisRecord, ...)
, denna åtgärd kan resultera i en rekursiv uppdateringscykel.
Här följer några exempel på åtgärder som kan undvika det här problemet:
Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.
Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.
Hantera tidsgränsen på två minuter
För åtgärder som fortsätter i två minuter eller längre kan följande felmeddelande visas:
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 arbetar med Dataverse plugin-program med låg kod är det viktigt att hantera tidsgränsen på två minuter:
- Begränsa antalet åtgärder
Patch
ochCollect
i dina plugin-program, särskilt om det redan finns andra plugin-program registrerade i tabellen, vilket kan påverka plugin-programmens prestanda. - Övervaka prestanda. Håll ett öga på plugin-programs prestanda och fundera på om spårnings- och loggningsfunktionerna i Dataverse kan spåra körningstider och -fel. Genom att följa dessa riktlinjer kan du se till att dina plugin-program med låg kod fungerar som de ska i Dataverse-miljön utan avbrott på grund av en tidsgräns på två minuter. Mer information: Spårning och loggning
Det gick inte att få svar från APIM
Om du får det här felmeddelandet, som kan returneras från API management (APIM), redigerar du bara plugin-programmet och sparar det sedan. Om du sparar initierar APIM-autentiseringen och plugin-programmet körs utan problem.
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