【问题标题】:Exceptions in Code Activities Used in CRM WorkflowsCRM 工作流中使用的代码活动中的异常
【发布时间】:2018-12-17 22:50:35
【问题描述】:

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

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

我们发现,在抛出一定数量的这些合法异常后,该类型的所有剩余工作流都会因错误而推迟:

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

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

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

【问题讨论】:

    标签: dynamics-crm workflow dynamics-crm-online dynamics-365 dynamics-crm-365


    【解决方案1】:

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

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

    名称:AsyncOperationPostponed 十六进制:80040328 编号:-2147220696
    此操作已被推迟,因为它在 {1} 分钟内失败了超过 {0} 次

    Error code reference

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

    【讨论】:

    • 除此之外,您可以在代码中捕获异常,使用新的 hasError 字段(或类似字段)标记记录,甚至添加 errorMessage 字段并将异常填充到其中.这样一来,您就可以轻松地将所需的所有数据记录在案,并且可以轻松过滤,并且避免平台因过多的异常而关闭您。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多