有没有办法增加插件可以执行的最长时间?
默认为2分钟。我发现here。
答案 0 :(得分:2)
这个限制是为了帮助保护服务器的性能,因此这里正确的方法是重新设计您的解决方案(例如,将您的密集逻辑移到工作流程或Web服务中并以异步方式调用它)。
我不知道任何会延长两分钟超时的设置,标志或注册表项,但是如果你必须坚持下去,你可能会发现通过将你的逻辑包装在try / catch块中来捏造解决方案是可能的,catch
System.TimeoutException
并继续您的代码。也许(未经考验)。
答案 1 :(得分:2)
我想补充说,似乎时间限制仅适用于在沙盒/部分信任模式下注册插件时。
我们遇到了这种问题,并通过在完全信任(非沙盒)模式下注册插件来解决它。我通过使用Thread.Sleep函数等待2分钟甚至开始执行任何插件逻辑来验证这一点。总共花了将近4分钟,但是在非沙箱模式下插件仍能保持良好状态。在沙盒模式下,它给我们留下了2分钟的例外情况。
根据Microsoft 2013中的电子学习资料,CRM 2013中的沙盒插件只有30秒而不是120秒。我还没有测试过。