Microsoft Dataversen vähäisen koodin laajennusten vinkkejä ja tunnettuja ongelmia (esiversio)
[Tämä ohjeaihe sisältää julkaisua edeltävää materiaalia ja voi muuttua.]
Tämä artikkeli kuvailee vihjeitä ja tunnettuja ongelmia vähäisen koodin laajennusten parissa työskentelyyn Microsoft Dataversessa.
Tärkeä
- Tämä on esiversiotoiminto.
- Esiversion ominaisuuksia ei ole tarkoitettu tuotantokäyttöön, ja niiden toiminnallisuus voi olla rajoitettu. Nämä ominaisuudet ovat käytettävissä ennen virallista julkaisua, jotta asiakkaat voivat käyttää niitä varhaisessa vaiheessa ja antaa palautetta.
Jos kohtaat suorituksenaikaisia laajennusongelmia, muokkaa vähäisen koodin laajennusta uudelleen. Tämän jälkeen kaavalausekkeen intellisense-ongelmat näkyvät vähäisen koodin laajennuseditorissa. Seuraa myös näytettäviä ohjeita virheen korjaamiseksi ja tallenna sitten laajennus uudelleen.
Vähäisen koodin laajennuksen suorituksessa voi esiintyä tämä virhe käytettäessä Patch
-toimintoa toiminnon jälkeen: 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.
Toiminnon jälkeisessä skenaariossa Patch
-toiminnon käyttäminen on tehtävä harkitusti ikuisten silmukoiden välttämiseksi. Patch
käynnistää uuden tapahtuman. Jos esimerkiksi kohteen MyTable
päivitysherätin käynnistää toiminnon Patch(MyTable, ThisRecord, ...)
, tämä toiminto voi aiheuttaa rekursiivisen päivityssilmukan.
Seuraavassa on muutamia esimerkkejä toiminnoista, jotka voivat välttää tämän ongelman:
Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.
Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.
Jos toimintoja jatketaan vähintään kaksi minuuttia, näkyviin tulee seuraava virhe:
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)
Kun käytetään Dataversen vähäisen koodin laajennuksia, on tärkeää hallita kahden minuutin aikakatkaisua tehokkaasti:
- Rajoita laajennusten sisällä olevien
Patch
- jaCollect
-toimintojen määrää, etenkin jos taulukkoon on jo rekisteröity muita laajennuksia, jotka voivat vaikuttaa laajennusten toimintaan. - Valvo suorituskykyä Seuraa laajennusten suorituskykyä ja harkitse Dataversen seuranta- ja kirjausominaisuuksien käyttöä suoritusaikojen ja epäonnistumisten seurantaa varten. Noudattamalla näitä ohjeita voit varmistaa, että vähäisen koodin laajennuksesi toimivat vaivattomasti Dataverse-ympäristössä ilman kahden minuutin aikakatkaisun aiheuttamaa keskeytystä. Lisätietoja: Seuranta ja kirjautuminen
Jos näyttöön tulee tämä virhesanoma, joka voidaan palauttaa API-hallinnasta (APIM), muokkaa laajennusta ja tallenna se sitten uudelleen. Tallentaminen alustaa APIM-todennuksen, ja laajennuksen suoritus alkaa onnistua.
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