如何在CRM 2011中增加插件的最大执行时间?

时间:2012-06-22 12:10:24

标签: plugins timeout dynamics-crm dynamics-crm-2011 execution

有没有办法增加插件可以执行的最长时间?

默认为2分钟。我发现here

2 个答案:

答案 0 :(得分:2)

这个限制是为了帮助保护服务器的性能,因此这里正确的方法是重新设计您的解决方案(例如,将您的密集逻辑移到工作流程或Web服务中并以异步方式调用它)。

我不知道任何会延长两分钟超时的设置,标志或注册表项,但是如果你必须坚持下去,你可能会发现通过将你的逻辑包装在try / catch块中来捏造解决方案是可能的,catch System.TimeoutException并继续您的代码。也许(未经考验)。

答案 1 :(得分:2)

我想补充说,似乎时间限制仅适用于在沙盒/部分信任模式下注册插件时。

我们遇到了这种问题,并通过在完全信任(非沙盒)模式下注册插件来解决它。我通过使用Thread.Sleep函数等待2分钟甚至开始执行任何插件逻辑来验证这一点。总共花了将近4分钟,但是在非沙箱模式下插件仍能保持良好状态。在沙盒模式下,它给我们留下了2分钟的例外情况。

根据Microsoft 2013中的电子学习资料,CRM 2013中的沙盒插件只有30秒而不是120秒。我还没有测试过。