Udostępnij przez


Microsoft Dataverse — porady dotyczące wtyczek z małą ilością kodu i znane problemy (wersja zapoznawcza)

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

W tym artykule opisano porady i znane problemy podczas pracy z wtyczkami o niskim kodzie w usłudze Microsoft Dataverse.

Ważne

  • Natychmiastowe niskokodowe wtyczki są pozbawione priorytetu i nie są dostarczane jako funkcja. Błyskawiczne wtyczki niskokodowe są zastępowane funkcjami. Więcej informacji: Funkcje w usłudze Microsoft Dataverse (wersja zapoznawcza)
  • 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ą dostępne przed oficjalną wersją, aby klienci mogli uzyskać wczesny dostęp i przekazać opinię.

Obsługa ogólnych problemów ze środowiskiem uruchomieniowym

Jeśli wystąpią problemy z wtyczką środowiska uruchomieniowego, zmodyfikuj ponownie 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 poprawek po operacji

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.

Użycie Patch w scenariuszu po operacji powinno się robić ostrożnie, żeby uniknąć nieskończonych pętli. Patch Operacja inicjuje nową transakcję. Na przykład, jeśli wyzwalacz aktualizacji dla MyTable wywoła Patch(MyTable, ThisRecord, ...), ta operacja może spowodować rekursywny cykl aktualizacji.

Oto kilka przykładów operacji, które mogą 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, które trwają dwie minuty lub dłużej, może zostać wyświetlony następujący 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 wtyczkami o niskim kodzie usługi Dataverse ważne jest efektywne zarządzanie limitem czasu dwuminutowym:

  • Ogranicz liczbę operacji Patch i Collect wewnątrz swoich wtyczek, zwłaszcza jeśli masz już inne wtyczki zarejestrowane względem tej tabeli, co może wpływać na wydajność Twoich wtyczek.
  • Monitorowanie wydajności. Przyjrzyj się wydajności wtyczek i rozważ użycie funkcji śledzenia i rejestrowania w usłudze Dataverse w celu śledzenia czasów wykonywania i awarii. Postępując zgodnie z tymi wytycznymi, możesz mieć pewność, że wtyczki o niskim kodzie działają bezproblemowo w środowisku Usługi Dataverse bez przerwy spowodowanego limitem czasu dwuminutowego. Więcej informacji: Śledzenie i rejestrowanie

Odpowiedź odebrana z usługi APIM zakończyła się niepowodzeniem

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 także

Używanie wtyczek niskokodowych w usłudze Dataverse