Microsoft Dataverse Съвети за добавки с малко код и известни проблеми (преглед)
[Тази тема е предварителна версия на документацията и подлежи на промяна.]
Тази статия описва съвети и известни проблеми при работа с добавки с малко код Microsoft Dataverse.
Важно
- Това е функция за предварителен преглед.
- Функциите за предварителен преглед не са предназначени за производствена употреба и може да са с ограничена функционалност. Тези функции са достъпни преди официалното издание, за да могат клиентите да получат ранен достъп и да дадат обратна връзка.
Справяне с общи проблеми по време на изпълнение
Ако се сблъскате с проблеми с плъгина по време на изпълнение, редактирайте отново приставката с малко код. След това проблемите с Intellisense на вашия израз на формула се показват в редактора на плъгини с малко код. Следвайте указанията, за да коригирате проблема, които също се показват, след което запишете отново добавката.
Бъдете внимателни, когато използвате корекция след работа
Изпълнението на приставката с малък код може да срещне тази грешка при използване Patch
след операция: 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.
Използването Patch
в сценарий след операция трябва да се извършва с повишено внимание, за да се избегнат безкрайни цикли. Операцията Patch
инициира нова транзакция. Например, ако се задейства актуализация за MyTable
извикване Patch(MyTable, ThisRecord, ...)
, тази операция може да доведе до рекурсивен цикъл на актуализиране.
Ето няколко примера за операции, които могат да избегнат този проблем:
Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.
Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.
Справете се с двуминутното изчакване
За операции, които продължават две минути или повече, можете да получите тази грешка:
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)
Когато работите с Dataverse плъгини с малко код, е важно да управлявате ефективно двуминутното време за изчакване:
- Ограничете броя и
Patch
операциитеCollect
във вашите добавки, особено ако имате други добавки, които вече са регистрирани в тази таблица, което може да повлияе на производителността на вашите добавки. - Наблюдавайте производителността. Следете производителността на вашите добавки и помислете за използване на възможности Dataverse за проследяване и регистриране, за да проследявате времето за изпълнение и неуспехите. Като следвате тези указания, можете да гарантирате, че вашите плъгини с малко код работят безпроблемно в Dataverse средата без прекъсване, причинено от двуминутното изчакване. Повече информация: Проследяване и регистриране
Неуспешен отговор, получен от APIM
Ако получите това съобщение за грешка, което може да бъде върнато от управлението на API (APIM), просто редактирайте приставката и след това запазете отново. Запазването инициализира удостоверяването на APIM и вашата добавка започва да се изпълнява успешно.
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