Dynamics crm 2011 动态CRM 2013插件事件执行管道和2分钟超时

Dynamics crm 2011 动态CRM 2013插件事件执行管道和2分钟超时,dynamics-crm-2011,crm,dynamics-crm-2013,Dynamics Crm 2011,Crm,Dynamics Crm 2013,我有几个问题 1-当插件A触发一个事件并导致另一个插件B触发时,插件B是否在与插件A相同的事件执行管道中执行 2-如果上述情况属实且插件A和插件B在同一事件执行管道中执行,它们是否都有2分钟的时间完成(因为动态CRM中插件的最大执行时间为2分钟)或者它们中的每一个都有2分钟的时间来完成,这使得它们两个都可以完成的总执行时间是4分钟 谢谢。在插件上下文中,这不是真的,但我想这取决于你如何注册插件,如果你从插件a执行创建操作,插件B在该操作中被触发,如果插件B是同步的(预验证,预操作),那么插件a需

我有几个问题

1-当插件A触发一个事件并导致另一个插件B触发时,插件B是否在与插件A相同的事件执行管道中执行

2-如果上述情况属实且插件A插件B在同一事件执行管道中执行,它们是否都有2分钟的时间完成(因为动态CRM中插件的最大执行时间为2分钟)或者它们中的每一个都有2分钟的时间来完成,这使得它们两个都可以完成的总执行时间是4分钟


谢谢。

在插件上下文中,这不是真的,但我想这取决于你如何注册插件,如果你从插件a执行创建操作,插件B在该操作中被触发,如果插件B是同步的(预验证,预操作),那么插件a需要等待插件B完成。插件B仍然有2分钟的时间完成,可能你会有一个比2分钟稍大的时间窗口-插件a的执行时间,但是当插件a因为超过它的执行时间而被终止时,插件B将在他自己的2分钟限制后被终止(我在想象一个汇总场景)


我猜你的答案是否定的,它们不会在同一事件中执行,但总执行时间取决于你如何注册插件B,如果是同步的或异步的。

在插件上下文中,这不是真的,但我猜取决于你如何注册插件,如果你从插件a执行创建操作,插件B在该操作中被触发,如果插件B是同步的(预验证,预操作),那么插件A需要等待插件B完成。插件B仍然有2分钟的时间完成,可能你会有一个比2分钟稍大的时间窗口-插件a的执行时间,但是当插件a因为超过它的执行时间而被终止时,插件B将在他自己的2分钟限制后被终止(我在想象一个汇总场景)


我想你的答案是否定的,它们不会在同一事件中执行,但是总的执行时间取决于你注册插件B的方式,如果是同步的还是异步的。

插件B将在插件a的子管道中执行

在Dynamics CRM 2011中,为了简化插件开发,放弃了父管道和子管道的概念,但在幕后它们仍然存在。通过检查
IPluginExecutionContext.ParentContext
属性,可以找出插件在哪个上下文中执行

例如,当您的插件注册更新消息时,父管道实际上可能在Assign或SetState消息的上下文中运行。此外,当自定义插件代码对记录进行更新时,更新将在单独的子管道中执行

在沙箱中,根管道必须在2分钟内完成。对于同步插件步骤,这意味着所有后续子管道任务也需要在该窗口内完成


但是异步插件步骤在这里不起作用,因为它们是在一个单独的过程中执行的。请记住,插件代码不能无休止地创建子管道实例。为了防止无休止的运行循环,系统允许插件的步进深度不超过8级。您可以使用属性
IPluginExecutionContext检查这一点。Depth

插件B将在插件a的子管道中执行

在Dynamics CRM 2011中,为了简化插件开发,放弃了父管道和子管道的概念,但在幕后它们仍然存在。通过检查
IPluginExecutionContext.ParentContext
属性,可以找出插件在哪个上下文中执行

例如,当您的插件注册更新消息时,父管道实际上可能在Assign或SetState消息的上下文中运行。此外,当自定义插件代码对记录进行更新时,更新将在单独的子管道中执行

在沙箱中,根管道必须在2分钟内完成。对于同步插件步骤,这意味着所有后续子管道任务也需要在该窗口内完成


但是异步插件步骤在这里不起作用,因为它们是在一个单独的过程中执行的。请记住,插件代码不能无休止地创建子管道实例。为了防止无休止的运行循环,系统允许插件的步进深度不超过8级。您可以通过属性
IPluginExecutionContext.Depth

来检查这一点,谢谢您的回复。您提到:在沙箱中,根管道必须在2分钟内完成。这是否意味着如果插件未在沙箱中注册,根管道可能需要2分钟以上才能完成?不,我的意思是所有插件的总和不能运行超过2分钟。感谢您的回复。您提到:在沙箱中,根管道必须在2分钟内完成。这是否意味着如果插件未在沙箱中注册,根管道可能需要2分钟以上才能完成?不,我的意思是所有插件的总和不能运行超过2分钟。