Microsoft Dataverse bazinės programavimo žinios papildinių patarimai ir žinomos problemos (peržiūros versija)
[Ši tema yra negalutinio leidimo dokumentacija ir gali keistis.]
Šiame straipsnyje aprašomi patarimai ir žinomos problemos dirbant su bazinės programavimo žinios papildiniais Microsoft Dataverse.
Svarbu
- Tai yra peržiūros versijos funkcija.
- Peržiūros funkcijos nėra skirtos naudoti gamybai ir gali būti apribotas jų funkcionalumas. Šias funkcijas galima naudoti prieš oficialų išleidimą, kad klientai galėtų gauti ankstyvą prieigą ir pateikti atsiliepimų.
Spręskite bendrąsias vykdymo laiko problemas
Jei susiduriate su vykdymo laiko papildinio problemomis, iš naujo redaguokite bazinės programavimo žinios papildinį. Tada jūsų formulės išraiškos "intellisense" problemos rodomos bazinės programavimo žinios papildinio rengyklėje. Vadovaukitės gairėmis, kad ištaisytumėte problemą, kuri taip pat rodoma, tada iš naujo įrašykite priedą.
Būkite atsargūs, kai naudojate pataisymą po operacijos
Jūsų bazinės programavimo žinios priedo vykdymas gali susidurti su šia klaida, kai naudojate Patch
po operacijos: 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.
Naudojimas Patch
po operacijos scenarijuje turi būti atliekamas atsargiai, kad būtų išvengta begalinių kilpų. Operacija Patch
inicijuoja naują operaciją. Pavyzdžiui, jei iškviečiamų MyTable
naujinimų paleidiklis Patch(MyTable, ThisRecord, ...)
, ši operacija gali sukelti rekursinį naujinimo ciklą.
Štai keletas operacijų, kurios gali padėti išvengti šios problemos, pavyzdžių:
Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.
Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.
Tvarkykite dviejų minučių skirtąjį laiką
Jei operacijos tęsiasi dvi minutes ar ilgiau, galite gauti šią klaidą:
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)
Dirbant su Dataverse bazinės programavimo žinios papildiniais, svarbu efektyviai valdyti dviejų minučių skirtąjį laiką:
- Apribokite
Patch
papildinių skaičių irCollect
operacijas jų viduje, ypač jei turite kitų papildinių, jau užregistruotų toje lentelėje, o tai gali turėti įtakos papildinių veikimui. - Stebėkite našumą. Stebėkite savo papildinių našumą ir apsvarstykite galimybę naudoti sekimo ir registravimo galimybes Dataverse , kad galėtumėte sekti vykdymo laiką ir triktis. Vadovaudamiesi šiomis gairėmis galite užtikrinti, kad bazinės programavimo žinios papildiniai aplinkoje veiktų sklandžiai Dataverse be trikdžių, kuriuos sukelia dviejų minučių skirtasis laikas. Daugiau informacijos: Sekimas ir registravimas
Nepavyko atsakymas gauta iš APIM
Jei gaunate šį klaidos pranešimą, kurį galima grąžinti iš API valdymo (APIM), tiesiog redaguokite priedą ir įrašykite iš naujo. Įrašymas inicijuoja APIM autentifikavimą ir jūsų papildinys pradeda sėkmingai vykdyti.
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