插件预操作代码中的代码如下所示:
var cloneEntity = new Entity(SPLIT_SAVINGS);
object endDate;
_parentEntity.Attributes.TryGetValue(END_DATE, out endDate);
cloneEntity.Attributes[START_DATE] = _parentEntity.Attributes[START_DATE];
cloneEntity.Attributes[END_DATE] = endDate;
cloneEntity.Attributes[RATIO] = _parentEntity.Attributes[RATIO];
Guid cloneId = service.Create(cloneEntity);
所以我试图做的是,在创建此实体的预操作期间,它还将克隆自身(相同的日期和比率属性)以与另一个相关实体相关联。我不确定错误日志的内容。我唯一可以继续的是错误代码,我无法找到任何相关信息。
这是否与Create()调用再次以递归方式执行pre-op这一事实有关?我已经有条件逻辑阻止无限循环。
这是错误日志以供参考。感谢。
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: There was an error in the Plugin CRMPluginSolution.Plugins.SplitSavingsRatioProcess, and a log has been created. Please try this again later. If this issue persists contact your IT Staff. Detail:
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
<ErrorCode>-2147220891</ErrorCode>
<ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
<KeyValuePairOfstringanyType>
<d2p1:key>OperationStatus</d2p1:key>
<d2p1:value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:string">0</d2p1:value>
</KeyValuePairOfstringanyType>
<KeyValuePairOfstringanyType>
<d2p1:key>SubErrorCode</d2p1:key>
<d2p1:value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:string">-2146233088</d2p1:value>
</KeyValuePairOfstringanyType>
</ErrorDetails>
<Message>There was an error in the Plugin CRMPluginSolution.Plugins.SplitSavingsRatioProcess, and a log has been created. Please try this again later. If this issue persists contact your IT Staff. </Message>
<Timestamp>2016-12-28T23:42:10.5503562Z</Timestamp>
<InnerFault i:nil="true" />
<TraceText>
[CRMPluginSolution.Plugins: CRMPluginSolution.Plugins.SplitSavingsRatioProcess]
[77dfca7a-35cd-e611-80df-00059a3c7a00: SplitSavingsRatioProcess]
</TraceText>
</OrganizationServiceFault>
答案 0 :(得分:0)
发现问题。我的插件注册工具的分析器设置为在Create调用上抛出异常,因此它永远不会超过它。一旦我将探查器设置为使用持久性,就会创建实体。