Microsoft Dataverse 低代码插件提示和已知问题(预览版)

[本主题是预发行文档,有可能会有所更改。]

本文介绍使用 Microsoft Dataverse 中的低代码插件时的提示和已知问题。

重要

  • 这是一项预览功能。
  • 预览功能不适合生产使用且功能可能受限。 这些功能在正式发布之前已经可用,以便客户可以及早使用并提供反馈。

处理常规运行时问题

如果您遇到运行时插件问题,请重新编辑低代码插件。 然后,公式表达式上的 intelense 问题将显示在低代码插件编辑器中。 按照指南更正同时显示的问题,然后重新保存插件。

使用操作后修补时,应小心谨慎

在操作后中使用 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 低代码插件时,有效管理两分钟超时很重要:

  • 限制插件内部的 PatchCollect 操作数,尤其是如果您已针对该表注册了其他插件,这可能会影响插件的性能。
  • 监视性能。 关注插件的性能,并考虑在 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

另请参见

使用 Dataverse 中的低代码插件