Dynamics crm CRM工作流中使用的代码活动中的异常

Dynamics crm CRM工作流中使用的代码活动中的异常,dynamics-crm,workflow,dynamics-crm-online,dynamics-365,dynamics-crm-365,Dynamics Crm,Workflow,Dynamics Crm Online,Dynamics 365,Dynamics Crm 365,我有一个自定义代码活动,它作为后台工作流的一部分在大量记录上运行,这些记录作为集成的一部分输入Dynamics 365 CRM 由于我无法控制推入CRM的数据的质量,因此在某些情况下,我希望显式抛出异常,以便在系统作业记录屏幕中显示错误消息 我们发现,在抛出一定数量的合法异常后,所有剩余的此类工作流都会延迟,并出现以下错误: 此操作已被推迟,因为它在30分钟内失败了50多次 是否有可以控制或关闭此阈值的设置 如果不是,当工作流将合法地抛出异常作为其流程的一部分时,我应该采取什么方法?此陷阱用于损

我有一个自定义代码活动,它作为后台工作流的一部分在大量记录上运行,这些记录作为集成的一部分输入Dynamics 365 CRM

由于我无法控制推入CRM的数据的质量,因此在某些情况下,我希望显式抛出异常,以便在系统作业记录屏幕中显示错误消息

我们发现,在抛出一定数量的合法异常后,所有剩余的此类工作流都会延迟,并出现以下错误:

此操作已被推迟,因为它在30分钟内失败了50多次

是否有可以控制或关闭此阈值的设置


如果不是,当工作流将合法地抛出异常作为其流程的一部分时,我应该采取什么方法?

此陷阱用于损害控制(异步服务加载),以避免同一规模的CRM online组中的另一个共享租户的定制/实施造成任何进一步的损害

您可以联系MS支持以获得更好的解决方案。抱歉,您无法覆盖此行为

名称:AsyncOperationHex:80040328编号:-2147220696
此操作已被推迟,因为它在{1}分钟内失败了{0}次以上


替代选择:您可以使用
ITracingService
写入插件跟踪日志,而不引发异常。

此外,您可以在代码中捕获异常,使用新的
hasError
字段(或类似的内容)标记记录,甚至添加
errorMessage
字段并将异常填充到其中。这样,您就可以将所需的所有数据都记录在记录上,方便地进行筛选,并且可以避免由于异常过多而导致平台关闭。