Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ExecuteMultipleRequest-SQL超时已过期-Microsoft Dynamics CRM 2015_C#_Dynamics Crm Online_Dynamics Crm 2015 - Fatal编程技术网

C# ExecuteMultipleRequest-SQL超时已过期-Microsoft Dynamics CRM 2015

C# ExecuteMultipleRequest-SQL超时已过期-Microsoft Dynamics CRM 2015,c#,dynamics-crm-online,dynamics-crm-2015,C#,Dynamics Crm Online,Dynamics Crm 2015,在为“Microsoft Dynamics CRM 2015 Update 1 Online”开发同步插件的过程中,我使用ExecuteMultipleRequest创建多个实体记录。当我在CRM中测试插件时,会出现一条异常消息,显示“SQL超时已过期”。 如果我将ExecuteMultipleRequest替换为service.Create(…)在循环中调用,则效果良好。如果我将插件的类型从同步更改为异步,而不替换ExecuteMultipleRequest,那么它也可以正常工作 有人知道同步


在为“Microsoft Dynamics CRM 2015 Update 1 Online”开发同步插件的过程中,我使用
ExecuteMultipleRequest
创建多个实体记录。当我在CRM中测试插件时,会出现一条异常消息,显示“SQL超时已过期”。
如果我将
ExecuteMultipleRequest
替换为
service.Create(…)
在循环中调用,则效果良好。如果我将插件的类型从同步更改为异步,而不替换
ExecuteMultipleRequest

,那么它也可以正常工作 有人知道同步插件中SQL超时问题的原因吗?

谢谢。

Dynamics CRM online的默认设置为超时前2分钟。这意味着单个插件操作中较大的进程容易超时

以下是选项列表:

  • 检查代码以提高性能
  • 将繁重的操作从父实体记录移动到子实体记录
  • 创建一个队列实体,其类型和操作将分别为每个实体记录触发操作
祝你好运


干杯

我不建议在插件中使用ExecuteMultipleRequest。此时您已经在服务器上,因此使用ExecuteMultipleRequest不会带来任何性能好处(根据我自己的测试,我还没有看到性能的改进,如果您有数据表明不是这样,我希望看到)。您还遇到了请求失败的潜在问题

你好,凯文,谢谢你的回复。我知道CRM Online的局限性,但事实并非如此。正如我前面提到的,如果我将
ExecuteMultipleRequest
更改为使用
service.Create(…)
进行循环,则效果很好。插件一点也不重:简单的操作和多个记录的创建。你好,Alex,谢谢你的回复。你能把你的代码和所有有用的信息都包括进去吗?此外,您确定没有达到多个请求的最大数量吗?您是否尝试添加和记录计时器?它没有达到多个请求的限制,我正在开发环境中工作,当时没有人在其中工作。可能,我知道问题出在哪里了,这个请求阻塞了SQL表,出现了死锁。感谢您的回复和建议。是的,我在服务器上,但插件仍然通过服务工作,所以它会调用它,是不是一次调用比多次调用更好?如果我错了,请纠正我。无论如何,这是一个很好的建议,不要在插件中使用它,尤其是在插件频繁运行的情况下,因此可能会达到导致问题的极限。您可以单独定义它是否“更好”。我认为来自同一个插件的请求不会在不同的服务器上执行。我相信它是在同一台服务器上执行的,所以一个请求到多个请求之间没有http的好处。