Dynamics crm 有没有办法增加Dynamics CRM服务器调用的超时值?
我正在编写一个简单的应用程序来测试CRMSDK提供的Linq查询功能 我的代码很简单Dynamics crm 有没有办法增加Dynamics CRM服务器调用的超时值?,dynamics-crm,dynamics-crm-4,Dynamics Crm,Dynamics Crm 4,我正在编写一个简单的应用程序来测试CRMSDK提供的Linq查询功能 我的代码很简单 var before = DateTime.Now; var crm = new Stub.Xrm.MyDataContext("MyCRM"); var contact = crm.contacts.FirstOrDefault(); var span = new TimeSpan(DateTime.Now.Ticks-before.Ticks); Conso
var before = DateTime.Now;
var crm = new Stub.Xrm.MyDataContext("MyCRM");
var contact = crm.contacts.FirstOrDefault();
var span = new TimeSpan(DateTime.Now.Ticks-before.Ticks);
Console.WriteLine("The name is " + contact.name);
Console.WriteLine("It took " + span.Seconds + " seconds to run this program " );
运行大约需要一分钟,但它起了作用。
然后我尝试查询不同的实体,例如account,我得到了
Unhandled Exception: System.Net.WebException: The operation has timed out
我怀疑发生这种情况是因为我的帐户比联系人多,所以处理帐户查询需要更长的时间。我正在尝试将app.config上的超时值增加,但没有成功 应用程序中不会发生超时。超时发生在服务器端。因此,你可以在那里增加它 您一次加载所有记录并仅获取序列中的第一条记录,是否有特殊原因 你不应该有一个带有
如果您的系统中有500k个帐户,查询将返回所有帐户(包括所有已填写的属性)。您可以在CRM的web.config中增加超时值。要增加CRM超时,可以使用两种方法:
看看这个
如果使用服务代理作为连接场景,则可以设置Timeout属性。以下是示例:
_serviceProxy.EnableProxyTypes()
变量超时=新的时间跨度(0,10,0);//增加10分钟
_serviceProxy.Timeout=超时;
希望这有帮助
据我对Linq的理解,crm.contacts语句不会返回所有记录。在调用.FirstOrDefault()之前,不会执行它。因此,linq提供者将整个语句转换为类似于从contacts中选择top(1)*的内容;无论如何,我举的例子只是想测试Linq是否有效。事实证明,启动时间非常慢,但在第一次查询后不到一秒钟。我现在想知道为什么启动时间这么长。