首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CRM 2011 -触发另一个插件中插件的回滚机制

CRM 2011 -触发另一个插件中插件的回滚机制
EN

Stack Overflow用户
提问于 2014-01-29 09:31:35
回答 1查看 1.3K关注 0票数 1

关于CRM 2011中的回滚机制,我有一个问题。我知道,如果抛出错误,同步插件将回滚它执行的任何更改。但是,如果这个插件在执行过程中触发了另一个插件,该怎么办?

考虑以下插件:

  1. 插件A:任务实体预更新的触发器
  2. 插件B:预更新案例(事件)实体的触发器

假设情况如下:

  1. 我更新了一个案子插件B被触发了。
  2. 在本例中的字段被修改。
  3. 与案件相关的任务之一也会用一些信息进行更新。
    • 插件A被触发
    • 修改与任务相关的字段。

  1. 案件记录上的一些其他操作
  2. 插件B抛出异常

我的问题是,插件A所执行的操作是否也会被回滚?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-29 13:49:31

只要插件在事务中注册(之前或之后,但仍然在),一切都将被回滚。如果一个插件被注册到Pre-Validation阶段,它将不会被回滚。

这还假设您也在从IOrganziationService中检索PluginContext

这就是服务器上发生的情况:

  1. 一个更新实体的请求进来了,我们现在是通过上下文进行事务处理吗?如果不创建一个新的数据库事务,并将其存储在插件上下文中。
  2. 请求更新不同的实体,事务被传递到新插件的上下文中,第1步被重复用于新插件的执行。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21426976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档