2016-12-28 61 views
-1

插件预操作码内的代码时,看起来是这样的:前运期间“业务流程错误”试图创建一个实体

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

发现问题。我的插件注册工具的配置文件被设置为在创建调用时抛出异常,所以它永远不会超过这个。一旦我将探查器设置为使用持久性,实体就会被创建。