Wskazówki i znane błędy dotyczące plug-inów Microsoft Dataverse o niskiej zawartości kodu (wersja zapoznawcza)

[Ten temat pochodzi ze wstępnej wersji dokumentacji i może ulec zmianie.]

W tym artykule opisano wskazówki i znane problemy podczas pracy z plug-inami o niskim kodzie w aplikacji Microsoft Dataverse.

Ważne

  • Jest to funkcja w wersji zapoznawczej.
  • Funkcje w wersji zapoznawczej nie są przeznaczone do użytku w środowiskach produkcyjnych i mogą mieć ograniczoną funkcjonalność. Te funkcje są udostępniane przed oficjalnym wydaniem, dzięki czemu klienci mogą szybciej uzyskać do nich dostęp i przekazać opinie na ich temat.

Obsługa ogólnych kwestii związanych z uruchamianiem

Jeśli wystąpią problemy z wtyczką uruchamiania, należy ponownie edytować wtyczkę o niskim kodzie. Następnie zagadnienia intellisense dotyczące wyrażenia formuły są wyświetlane w edytorze plug-in o niskiej zawartości kodu. Postępuj zgodnie ze wskazówkami, aby naprawić problem, które są również wyświetlane, a następnie ponownie zapisz plug-in.

Należy zachować ostrożność podczas stosowania łatek operacji Post

Wykonanie plug-in o niskim kodzie może napotkać ten błąd podczas korzystania z Patch w operacji Post: 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.

Korzystanie z Patch w scenariuszu po operacji musi być wykonywane ostrożnie, aby uniknąć nieskończonych pętli. Operacja Patch inicjuje nową transakcję. Na przykład, jeśli wyzwalacz aktualizacji dla MyTable wywoła Patch(MyTable, ThisRecord, ...), operacja ta może spowodować rekurencyjny cykl aktualizacji.

Oto kilka przykładów operacji, które pozwalają uniknąć tego problemu:

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

Obsługa dwuminutowego limitu czasu

W przypadku operacji trwających dwie minuty lub dłużej może wystąpić ten błąd:

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)

Podczas pracy z niskokodowymi plug-inami Dataverse ważne jest efektywne zarządzanie dwuminutowym limitem czasu:

  • Ogranicz liczbę operacji Patch i Collect wewnątrz swoich plug-inów, zwłaszcza jeśli masz już zarejestrowane inne plug-in'y względem tej tabeli, co może wpłynąć na wydajność twoich plug-in'ów.
  • Monitorowanie wydajności. Miej oko na wydajność swoich plug-inów i rozważ użycie funkcji śledzenia i rejestrowania w Dataverse, aby śledzić czasy wykonania i awarie. Postępując zgodnie z tymi wskazówkami, można zapewnić płynne działanie plug-inów o niskim kodzie w środowisku Dataverse bez przerw spowodowanych dwuminutowym limitem czasu. Więcej informacji: Śledzenie i rejestrowanie

Nieudana odpowiedź otrzymana od APIM

Jeśli otrzymasz ten komunikat o błędzie, który może zostać zwrócony z zarządzania API (APIM), po prostu edytuj plug-in, a następnie zapisz ponownie. Zapisanie inicjalizuje uwierzytelnianie APIM i plug-in zaczyna wykonywać się pomyślnie.

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

Zobacz też

Korzystanie z niskokodowych plug-inów w Dataverse