我在MS Dynamics CRM 2011中有一个插件,该插件可在任何新的固定装置创建中被调用。我希望一个任务在调用此插件时会异步运行。
这将在表中创建大约40000个新行,并且是一个长时间查询,大约需要10分钟才能完成。我不希望管理员/用户在创建所有记录时等待它,我宁愿让它异步运行并让用户做其他事情。
任何帮助或示例代码都将不胜感激。
我建议将其放在CRM之外,例如预定的控制台应用程序,该应用程序定期查询CRM针对特定情况,然后创建所需的记录。
作为一侧,如果您的插件在沙箱中注册,如果它运行超过2分钟,CRM将停止它。
事件执行管道
不管插件是同步执行的还是 异步,在该范围内施加了2分钟的时间限制 执行在沙盒中注册的插件。如果执行 您的插件逻辑超过了时间限制,系统。TimeOutException 被扔了。如果插件需要比2分钟更多的处理时间 时间限制,考虑使用工作流或其他背景过程 完成预期的任务。
我建议您使用异步插件实现目标。
我尝试使用插件出于此目的而尝试使用插件,而它是出于多种原因而起作用的,其中一个是超时的问题。
最后,我设法通过使用自定义工作流活动来完成这项工作,该活动在插入到我的实体时发射。
这是完美的,并根据数据而对(30-45min)运行异步。
感谢所有建议