CRM 2016插件解雇不一致

时间:2017-03-28 23:43:50

标签: crm dynamics-crm-2016

我有一个在更新消息上注册了4个插件的实体。

其中两个插件在预操作流水线阶段注册,其中两个插件在后操作流水线阶段异步注册。所有四个插件都有不同的过滤属性。

每次输入Execute方法后,每个插件都会将其上下文序列化为xml文件。这是我们拥有的基类的功能,我没有理由相信这会失败。

当测试更新的相同记录时,我得到的结果不一致。

有时只有预操作管道插件触发,有时所有四个插件都会触发。

奇怪的是,我可以通过我测试的记录的价值来判断,所有四个插件都被解雇了。但是,在许多情况下,序列化的上下文文件尚未生成

我已尝试将两个异步插件更改为同步,这似乎可以暂时解决问题。我还尝试过禁用pre-op插件,只让异步触发。

有没有人处理过类似的问题?

1 个答案:

答案 0 :(得分:0)

欢迎来到调试插件的地狱。作为最好的实践,我总是建议为一个事件和一个实体设置一个插件。这样,debuging更简单,您可以处理更复杂的场景。在插件内部,我检查目标以了解哪个字段已更新。

对于不一致的结果,可能是由异步步骤引起的。您是否配置了触发它们的顺序?默认情况下,它们为1.这意味着随机。