【发布时间】:2014-12-09 16:50:04
【问题描述】:
有没有办法增加插件可以执行的最长时间?
默认为 2 分钟。我发现here。
【问题讨论】:
标签: plugins timeout dynamics-crm dynamics-crm-2011 execution
有没有办法增加插件可以执行的最长时间?
默认为 2 分钟。我发现here。
【问题讨论】:
标签: plugins timeout dynamics-crm dynamics-crm-2011 execution
限制是为了帮助保护服务器的性能,因此这里的正确方法是重新设计您的解决方案(例如,将您的密集逻辑移到工作流或 Web 服务中并异步调用它)。
我不知道有任何设置、标志或注册表项会延长两分钟的超时时间,但如果您必须坚持下去,您可能会发现可以通过将逻辑包装在 try/catch 块中来捏造解决方案,catching System.TimeoutException并继续您的代码。也许(未经测试)。
【讨论】:
我想补充一点,似乎时间限制仅适用于在沙盒/部分信任模式下注册插件时。
我们遇到了这种问题,并通过在完全受信任(非沙盒)模式下注册插件来解决它。我通过使用 Thread.Sleep 函数在开始执行任何插件逻辑之前等待 2 分钟来验证这一点。总共花了将近 4 分钟,但该插件在非沙盒模式下仍然表现良好。在沙盒模式下,它给我们抛出了 2 分钟的异常。
根据 CRM 2013 中 Microsoft 沙盒插件的 E-learning 材料,只有 30 秒的限制,而不是 120 秒。我还没有测试过。
【讨论】: