2016-11-16 79 views
0

有时,在OnChange事件启动的执行异步插件之间有错误。 更新过程中的插件抛出错误。插件必须更新此插件的主实体实体。异步插件中更新记录之间的System.Data.SqlClient.SqlException MS Dynamics CRM 2011

错误消息:

未处理的异常: System.ServiceModel.FaultException`1 [[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk,版本= 5.0.0.0,文化=中性, 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:在 Microsoft.Crm.Extensibility.OrganizationSdkServiceInternal.Update(实体 实体,correlationToken correlationToken,CallerOriginToken callerOriginToken,WebServiceType的serviceType)ma_sign] 的更新在 Microsoft.Crm.Extensibility.InprocessServiceProxy.UpdateCore(实体 实体)在 Zeppelin.Approval.Helper.ApprovalService.SetSignDateOnSign(EntityReference 符号,Nullable`1 signDate)在 Zeppelin.Approval.SignStatusUpdated.Execute(的IServiceProvider 的ServiceProvider)在 Microsoft.Crm.Asynchronous.V5ProxyPlugin.Execute(的IServiceProvider 的ServiceProvider)在 Microsoft.Crm.Asynchronous.EventOperation.InvokePlugin( AsyncExecutionContext 背景下,IPlugin pluginInstance)

+0

我就从这里开始在Zeppelin.Approval.SignStatusUpdated.Execute(IServiceProvider的的ServiceProvider)'Zeppelin.Approval.Helper.ApprovalService.SetSignDateOnSign(的EntityReference迹象,可空1 signDate)' – dynamicallyCRM

+0

你想读码的方法? public void SetSignDateOnSign(EntityReference sign,Nullable signDate) {if(sign == null || !signDate.HasValue )return; 实体updatedSing =新实体(sign.LogicalName) { Id = sign.Id }; updatedSing [“ma_date”] = signDate; _service.Update(updatedSing); } – barsmaga

+0

该插件如何注册?在'符号'实体更新?或在不同的实体?您可能需要检查您是否正在进入递归调用循环。 – dynamicallyCRM

回答

0

我谈过这个问题,从我的团队的高级开发人员,我们发现它。 异步插件尝试更新实体,但此时工作流也尝试更新实体。我们在日志中查找系统作业的这种情况。 异步插件执行异常,因为此时工作流更新实体并设置锁定记录在数据库上。