有时,在OnChange事件上启动的execute async插件之间会出错。 更新过程中的插件抛出错误。插件必须更新作为此插件的主要实体的实体。
错误讯息:
未处理的例外情况: System.ServiceModel.FaultException`1 [Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk,Version = 5.0.0.0,Culture = neutral, PublicKeyToken = 31bf3856ad364e35]]:System.Data.SqlClient.SqlException: Microsoft Dynamics CRM遇到错误。参考编号 管理员或支持:#5083140DDetail:
-2147220970 System.Data.SqlClient.SqlException:Microsoft Dynamics CRM遇到了错误。管理员或参考号 支持:#5083140D
2016-11-11T09:31:15.2410512Z [Zeppelin.Approval: Zeppelin.Approval.SignStatusUpdated] [7059a33a-804E-E211-b1b9-00155d003b10: Zeppelin.Approval.SignStatusUpdated:更新ma_sign] 在 Microsoft.Crm.Extensibility.OrganizationSdkServiceInternal.Update(实体 entity,CorrelationToken correlationToken,CallerOriginToken callerOriginToken,WebServiceType serviceType)at Microsoft.Crm.Extensibility.InprocessServiceProxy.UpdateCore(实体 实体) Zeppelin.Approval.Helper.ApprovalService.SetSignDateOnSign(的EntityReference 标志,Nullable`1 signDate)at Zeppelin.Approval.SignStatusUpdated.Execute(的IServiceProvider serviceProvider)at Microsoft.Crm.Asynchronous.V5ProxyPlugin.Execute(的IServiceProvider serviceProvider)at Microsoft.Crm.Asynchronous.EventOperation.InvokePlugin(AsyncExecutionContext context,IPlugin pluginInstance)
答案 0 :(得分:0)
我和我的团队的高级开发人员讨论过这个问题,我们找到了。 异步插件尝试更新实体,但此时工作流也尝试更新实体。我们在系统作业的日志中捕获这种情况。 异步插件执行异常,因为此时工作流更新实体并设置锁定以记录在数据库上。