异步插件中的异常是否会停止创建实例?

时间:2013-08-17 09:48:23

标签: c# plugins dynamics-crm-2011

我正在与一位已将其中一个插件重新注册到异步位置的客户交谈,他们声称他们的体验是“奇怪的行为”。根据描述,似乎当异步插件(消息创建)中抛出异常时,该进程不会回滚。实例已创建。

这是预期的行为吗?如果是这样,可以做些什么来阻止它?

1 个答案:

答案 0 :(得分:4)

异步插件不在主操作事务中执行,这意味着当抛出异常时,主操作不会回滚。

常见示例是在创建新帐户时在插件中创建任务:

如果插件是同步的并且插件中引发InvalidPluginExecutionException,则不会创建帐户和任务,并且会向用户提示错误。

如果插件是异步的并且插件中引发InvalidPluginExecutionException,则会创建帐户,不会创建任务,也不会向用户提示错误。

MSDN - Event Execution Pipeline