Microsoft Dataverse petua pemalam kod asas dan isu yang diketahui (pratonton)
[Topik ini ialah dokumentasi prapelancaran dan tertakluk pada perubahan.]
Artikel ini menerangkan petua dan isu yang diketahui apabila bekerja dengan pemalam kod asas Microsoft Dataverse.
Penting
- Ini adalah ciri pratonton.
- Ciri pratonton bukan untuk kegunaan pengeluaran dan kefungsian mungkin terbatas. Ciri ini tersedia sebelum keluaran rasmi agar pelanggan boleh mendapat akses awal dan memberikan maklum balas.
Mengendalikan isu masa jalan umum
Jika anda menghadapi masalah pemalam masa jalan, edit semula pemalam kod asas. Kemudian isu intellisense pada ungkapan formula anda dipaparkan dalam editor pemalam kod asas. Ikut garis panduan untuk membetulkan isu yang turut dipaparkan, dan kemudian simpan semula pemalam.
Berhati-hati apabila menggunakan tampalan selepas operasi
Pelaksanaan pemalam kod asas anda mungkin menghadapi ralat ini apabila digunakan Patch
dalam pasca operasi: 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.
Menggunakan Patch
dalam senario pasca operasi mesti dilakukan dengan berhati-hati untuk mengelakkan gelung tak terhingga. Operasi Patch
memulakan transaksi baharu. Contohnya, jika pencetus kemas kini untuk MyTable
memanggil, Patch(MyTable, ThisRecord, ...)
operasi ini mungkin menghasilkan kitaran kemas kini rekursif.
Berikut ialah beberapa contoh operasi yang boleh mengelakkan isu ini:
Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.
Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.
Kendalikan tamat masa dua minit
Untuk operasi yang berterusan selama dua minit atau lebih lama, anda boleh menerima ralat ini:
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)
Apabila bekerja dengan Dataverse pemalam kod asas, adalah penting untuk menguruskan tamat masa dua minit dengan berkesan:
- Hadkan bilangan
Patch
danCollect
operasi anda di dalam pemalam anda, terutamanya jika anda mempunyai pemalam lain yang telah didaftarkan terhadap jadual tersebut, yang boleh menjejaskan prestasi pemalam anda. - Pantau prestasi. Perhatikan prestasi pemalam anda dan pertimbangkan untuk menggunakan keupayaan pengesanan dan pengelogan dalam untuk Dataverse menjejaki masa pelaksanaan dan kegagalan. Dengan mengikuti garis panduan ini, anda boleh memastikan bahawa pemalam kod asas anda berjalan lancar dalam Dataverse persekitaran tanpa gangguan yang disebabkan oleh tamat masa dua minit. Maklumat lanjut: Pengesanan dan pembalakan
Respons respons yang gagal diterima daripada APIM
Jika anda menerima mesej ralat ini, yang boleh dikembalikan daripada pengurusan API (APIM), hanya edit pemalam dan kemudian simpan semula. Menyimpan memulakan pengesahan APIM dan pemalam anda mula dilaksanakan dengan jayanya.
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