自定义工作流:沙箱超时Client.System.TimeoutException

本文关键字:Client System TimeoutException 超时 工作流 自定义 | 更新日期: 2023-09-27 18:08:17

目前我们正在CRM 2015 Online上工作,我们需要回填一个字段," new_UniqueNumber "。为此,我们编写了一个自定义工作流(OnDemand|Async.)。WF期望一次检索3500+条记录(考虑到检索multiple限制5000)。

WF只适用于大约1600条记录,然后出现TimeOut异常:

Unhandled Exception:
Microsoft.Crm.CrmException: The plug-in execution failed because the operation
has timed-out at the Sandbox Client.System.TimeoutException: Microsoft Dynamics
CRM has experienced an error.
at Microsoft.Crm.Sandbox.SandboxCodeUnit.Execute(IExecutionContext context)
at Microsoft.Crm.Workflow.Services.ProxyCustomActivity.Execute(CodeActivityContext
executionContext)

此外,我们没有尝试一次处理所有记录,而是尝试批处理(即限制query.PageInfo.Count)并使用分页,但这没有帮助。

你觉得怎么样?

自定义工作流:沙箱超时Client.System.TimeoutException

如果您只想填充一个字段,为什么要使用自定义工作流活动?开发简单的。net应用程序或使用SSIS来执行该工作。

你试过有两个不同的工作流程吗?一个工作流检索数千条记录,然后在每个记录上调用第二个工作流来实际完成工作?

那么2分钟的超时对于仅仅调用1000个工作流的工作流来说不会是一个问题(因为它们应该被创建得很好——但可能会在"等待资源"中停留几分钟),并且超时对于每个"子"工作流来说不应该是一个问题,如果每个子工作流在启动后2分钟内完成。