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的方式来搞定。
在我验证这段代码是否可行的时候,意外的发现它的执行速度很快,这里的快是相比我以前的老代码而言,如果你和我使用同样的老代码那你应该有所感受。
那么我就做了个简单的执行时间测试,结果却是快的不是一点半点,具体的对比如下图,有兴趣的你自己也可以做下测试。
该链接方式用到了两个命名空间
using Microsoft.Xrm.Client.Services;
using System.Configuration;
前者需要用到SDK中Bin目录下的Microsoft.Xrm.Client.dll,后者就不用说了都知道的。
Dynamics CRM 非声明验证方式下连接组织服务的两种方式的性能测试的更多相关文章
- Linux 服务管理两种方式service和systemctl
Linux 服务管理两种方式service和systemctl 1.service命令 service命令其实是去/etc/init.d目录下,去执行相关程序 # service命令启动redis脚本 ...
- http发送请求方式;分为post和get两种方式
http发送请求方式:分为post和get两种方式
- .NET环境下导出Excel表格的两种方式和导入两种类型的Excel表格
一.导出Excel表格的两种方式,其中两种方式指的是导出XML数据类型的Excel(即保存的时候可以只需要修改扩展名为.xls)和真正的Excel这两种. using System; using Sy ...
- Eclipse通过jdbc连接sqlserver2008数据库的两种方式
数据库登录身份验证方式有两种 其中服务器名称即为安装SQLServer2008的电脑,充当数据库服务器,在笔者这里就是自己的电脑名称. 身份验证方式有两种:windows身份验证和SQLSer ...
- C#+VisionPro连接相机获取图像的两种方式
两种比较常用的方式. C#直接连接相机获取图像(GIGE) 在获取图像前,需要先创建一个相机对象,再使用这个相机对象的Acquire方法拍摄照片. ICogAcqFifo macqfifo;//定义相 ...
- Linux中crontab下scp文件传输的两种方式
Linux下文件传输一般有两个命令scp.ftp(工具需要下载安装) 本文主要讲讲scp的文件传输脚本 1.scp ssh-keygen -t rsa免输入密码,传输 这里假设主机A 用来获到主机B的 ...
- php中连接tcp服务的三种方式
首先需要现有一个 tcp 服务,我们使用 php中的 socket 系列函数实现 <?php //创建socket套接字 $socket = socket_create(AF_INET, SOC ...
- eclipse下部署web工程的两种方式
习惯了Eclipse 的开发,就觉得不想那么懒去用MyEclipse傻瓜式的部署工程. 第一种,手动部署工程. 情况一:如果工程目录在tomcat目录的webapp目录下,这种情况就不需要有工程部署的 ...
- Linux下chkconfig命令详解即添加服务以及两种方式启动关闭系统服务
The command chkconfig is no longer available in Ubuntu.The equivalent command to chkconfig is update ...
随机推荐
- CSAPP-链接
主要任务: 1.符号解析 在声明变量和函数之后,所有的符号声明都被保存到符号表. 而符号解析阶段会给每个符号一个定义. 2.重定位: 把每个符号的定义与一个内存位置关联起来,然后修改所有对这些符号的引 ...
- 棋盘 chess
Description 给出一张 n × n 的棋盘,格子有黑有白.现在要在棋盘上放棋子,要求: • 黑格子上不能有棋子 • 每行每列至多只有一枚棋子 你的任务是求出有多少种合法的摆放方案.答案模 1 ...
- hdu 4453 splay
Looploop Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- BZOJ1095(动态点分治+堆)
终于把这个坑填了.. 按重心分治建树,每个点存两个堆,第一个存的是这个点子树中的点到父重心的距离,第二个存的是子节点第一个堆的堆顶,同时有一个全局答案堆,存的是每个点第二个堆的最大值+次大值. 20亿 ...
- C++变量和基本类型——2.3.1引用
引用:为对象起了另外一个名字,通常将申明符写成&d的形式来定义引用类型,其中d是申明的变量名: int ival =1024; int &refVal=ival 一般在初始化变量时,初 ...
- React 深入系列4:组件的生命周期
文:徐超,<React进阶之路>作者 授权发布,转载请注明作者及出处 React 深入系列4:组件的生命周期 React 深入系列,深入讲解了React中的重点概念.特性和模式等,旨在帮助 ...
- Spring boot结合Maven实现不同环境的配置
配置文件层次: pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http ...
- electron-vue 初体验
注意事项 首先确保node和npm是最新版本 避免使用镜像(我淘宝镜像安装有报错现象) 避免window的一些坑 若上一项检查完成,我们可以继续设置所需的构建工具.使用 windows-build-t ...
- Emacs Python 自动补全--Elpy
安装方法: 首先,安装一些依赖包: # Either of these pip install rope pip install jedi # flake8 用来检查语法错误 pip install ...
- 使用ffmpeg转码时遇到aac报错
今天尝试用ffmpeg转一个视频的格式,结果报出这个错误: The encoder 'aac' is experimental but experimental codecs are not enab ...