[本主題是發行前版本文件,並可能在未來變更。]
本文說明在 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