Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
[Topik ini adalah dokumentasi prarilis dan dapat berubah.]
Artikel ini menjelaskan tips dan masalah yang diketahui saat bekerja dengan plug-in kode rendah di Microsoft Dataverse.
Penting
- Plug-in kode rendah instan tidak diprioritaskan dan tidak dikirimkan sebagai fitur. Plug-in kode rendah instan diganti dengan fungsi. Informasi selengkapnya: Fungsi di Microsoft Dataverse (pratinjau)
- Ini adalah fitur pratinjau.
- Fitur pratinjau tidak dibuat untuk penggunaan produksi dan mungkin memiliki fungsionalitas yang dibatasi. Fitur-fitur ini tersedia sebelum rilis resmi sehingga pelanggan bisa mendapatkan akses awal dan memberikan umpan balik.
Menangani masalah runtime umum
Jika Anda menghadapi masalah plugin runtime, edit ulang plug-in kode rendah. Kemudian masalah IntelliSense pada ekspresi rumus Anda ditampilkan di editor plug-in kode rendah. Ikuti panduan untuk memperbaiki masalah yang juga ditampilkan, lalu simpan ulang plug-in tersebut.
Berhati-hatilah saat melakukan pemutakhiran setelah operasi
Eksekusi plug-in kode rendah Anda mungkin mengalami kesalahan ini saat menggunakan 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.
Penggunaan Patch dalam skenario pasca-operasi harus dilakukan dengan hati-hati untuk menghindari perulangan tak terbatas. Operasi Patch memulai transaksi baru. Misalnya, jika pemicu pembaruan untuk MyTable memanggil Patch(MyTable, ThisRecord, ...), operasi ini dapat mengakibatkan siklus pembaruan rekursif.
Berikut adalah beberapa contoh operasi yang dapat menghindari masalah ini:
Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.
Menangani batas waktu dua menit
Untuk operasi yang berlanjut selama dua menit atau lebih, Anda dapat menerima kesalahan 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)
Saat bekerja dengan plugin kode rendah Dataverse, penting untuk mengelola batas waktu dua menit secara efektif:
- Batasi jumlah
PatchdanCollectoperasi Anda di dalam plug-in Anda, terutama jika Anda memiliki plug-in lain yang sudah terdaftar terhadap tabel tersebut, yang dapat memengaruhi performa plug-in Anda. - Pantau performa. Perhatikan performa plug-in Anda dan pertimbangkan untuk menggunakan kemampuan pelacakan dan pengelogan dalam Dataverse untuk melacak waktu dan kegagalan eksekusi. Dengan mengikuti panduan ini, Anda dapat memastikan bahwa plug-in kode rendah Anda berjalan dengan lancar dalam lingkungan Dataverse tanpa gangguan yang disebabkan oleh batas waktu dua menit. Informasi selengkapnya: Pelacakan dan pengelogan
Respons gagal diterima dari APIM
Jika Anda menerima pesan kesalahan ini, yang dapat dikembalikan dari API management (APIM), cukup edit plug-in, lalu simpan kembali. Menyimpan menginisialisasi autentikasi APIM dan plug-in Anda mulai berhasil dijalankan.
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