有没有办法增加Dynamics CRM服务器调用的超时值?

时间:2011-05-20 18:41:24

标签: 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);
     Console.WriteLine("The name is " + contact.name);
     Console.WriteLine("It took " + span.Seconds + " seconds to run this program " );

运行大约需要一分钟,但它确实有效。 然后我尝试查询不同的实体,如帐户,我得到了

Unhandled Exception: System.Net.WebException: The operation has timed out

我怀疑这种情况发生了,因为我有更多帐户,然后是联系人,因此处理帐户查询需要更长时间。我试图在我的app.config上增加超时值但是没有用。

3 个答案:

答案 0 :(得分:0)

您的应用程序中不会发生超时。超时发生在服务器端。因此,可以在那里增加它。

您是否有特殊原因要一次加载所有记录并且仅 第一个序列?

您永远不应该有unbounded result set.的请求 如果您的系统中有500,000个帐户,则查询将返回所有帐户(包括所有已填充的属性)。

答案 1 :(得分:0)

您可以在CRM的web.config中增加超时值。

答案 2 :(得分:0)

要增加CRM超时,您可以使用两种方法:

  1. 服务器端
    查看此'A time-out occurs when you import large customization files into Microsoft Dynamics CRM'
  2. 客户端
    如果使用服务代理作为连接方案,则可以设置Timeout属性。以下是样本:

    _serviceProxy.EnableProxyTypes();
    var timeout = new TimeSpan(0,10,0); //加10分钟 _serviceProxy.Timeout = timeout;

    希望这有帮助。