2016-11-09 84 views
1

我在CRM中有一个事务并且达到其最大深度(8),这是一个非常复杂的插件链,业务需要这种操作。CRM 2011达到的最大深度

由于我们的业务需要或有一些我们不应该做的事情,因为存在大量的逻辑,是否将最大深度从(8)更改为(16)是一个很好的选择。

我问这是因为微软说这个限制是为了检测无限循环。

我想问问微软这个,但微软给我们的这个人存在利益冲突,因为他们想要我们拥有的客户端,所以如果我们为我们的客户关系管理提出这个建议,他们会希望看到什么是错误的而是专注于为我们提供最佳解决方案。

在此先感谢,我真的很感激你的时间。

+1

如果你认为业务需求是这样的,那么改变你的插件逻辑不会达到最大深度(8是已经很高的值),可能插件并不是你放置所有逻辑的最佳方式 –

+0

有10个插件;例如:来自contoso的用户关闭领导,领导验证其状态,状态更改关闭与领导相关的活动,关闭活动创建销售订单......并且每个步骤都有一个插件最后一个达到最大深度。 – Sxntk

+2

我再说一遍,如果你的逻辑非常复杂,而且达到了最大深度,那么插件(即你所描述的都是同步的)并不适合放置代码 –

回答

0

我们决定按实体和消息对插件进行分组。

所以,如果我们有一个插件FOO过滤new_field1和另一个插件做酒吧过滤new_field2我们在一个合并这两个插件。

一步注册过滤两个字段,实现处理何时调用foo,bar或两者。

这样我们减少了深度。