Dynamics CRM 非声明验证方式下连接组织服务的两种方式的性能测试

今天看了勇哥的博文“http://luoyong0201.blog.163.com/blog/static/1129305201510153391392/”,又认识到了一种新的连接组织服务的方式,而该篇博文里面讲的东西是SDK中的“Simplified connection to Microsoft Dynamics CRM”章节,像我们这种只把SDK当工具手册偶尔搜索下的人当然不会注意这篇。

该篇介绍的方式是类似于之前我们ADO.NET中经常用的数据库连接字符串形式,通过webconfig或者appconfig来进行配置参数,一行代码搞定相当简洁。

OrganizationService org = new OrganizationService(new CrmConnection("crm"));

配置参数如下 ,其中还有很多的参数像超时时间什么的可以参考SDK中的该章节。

 <connectionStrings>
<add name="crm" connectionString="Url=http://CRM:5555/Origin/XRMServices/2011/Organization.svc;Domain=skysoft; Username=administrator; Password="/>
</connectionStrings>

而我日常使用的代码是下面3行

ClientCredentials clientCredentials = new ClientCredentials();
clientCredentials.Windows.ClientCredential = new System.Net.NetworkCredential("administrator", "", "");
IOrganizationService organizationServiceProxy = new OrganizationServiceProxy(new Uri("http://CRM:5555/Origin/XRMServices/2011/Organization.svc"), null, clientCredentials, null);

从代码简洁度上来说我喜欢前者,虽然像这种代码我们平时也是通过ctrl+c、ctrl+v的方式来搞定。

在我验证这段代码是否可行的时候,意外的发现它的执行速度很快,这里的快是相比我以前的老代码而言,如果你和我使用同样的老代码那你应该有所感受。

那么我就做了个简单的执行时间测试,结果却是快的不是一点半点,具体的对比如下图,有兴趣的你自己也可以做下测试。

Dynamics CRM   非声明验证方式下连接组织服务的两种方式的性能测试

该链接方式用到了两个命名空间

using Microsoft.Xrm.Client.Services;
using System.Configuration;

前者需要用到SDK中Bin目录下的Microsoft.Xrm.Client.dll,后者就不用说了都知道的。

上一篇:java学习笔记day02


下一篇:[C#] async 的三大返回类型