C# 三种方式获取CRM数据效率

测试demo,分别列出了获取组织服务需要的时间及查询所花时间,demo中是以查询一条用户记录的所有属性为例:
三种分别是:
1、CrmConnection
2、普通的方式(姑且这么叫吧,因为这是最常用的)
3、web api

static void Main(string[] args)  
 {  
    string result = "";  
    #region CrmConnection效率  
    DateTime dt1 = DateTime.Now;  
    OrganizationService org = new OrganizationService(new CrmConnection("crm"));  
    DateTime dt8 = DateTime.Now;  
    result = result + "CrmConnection实例服务时间 " + (dt8 - dt1).Milliseconds.ToString() + "\r\n";  
    Entity test = org.Retrieve("systemuser", new Guid("B3EB9804-6CD8-E511-9413-D04319595BED"), new Microsoft.Xrm.Sdk.Query.ColumnSet(true));  
    DateTime dt2 = DateTime.Now;  
    result = result + "CrmConnection查询时间 " + (dt2 - dt8).Milliseconds.ToString() + "\r\n";  
    #endregion  

    #region 普通方式获取OrganizationService  
    DateTime dt3 = DateTime.Now;  
    ClientCredentials clientCredentials = new ClientCredentials();  
    clientCredentials.Windows.ClientCredential = new System.Net.NetworkCredential("administrator", "001", "skysoft");  
    IOrganizationService organizationServiceProxy = new OrganizationServiceProxy(new Uri("http://crmhost/XRMServices/2011/Organization.svc"), null, clientCredentials, null);  
    DateTime dt4 = DateTime.Now;  
    result = result + "普通方式获取组织服务时间 " + (dt4 - dt3).Milliseconds.ToString() + "\r\n";  
    Entity test1 = organizationServiceProxy.Retrieve("systemuser", new Guid("B3EB9804-6CD8-E511-9413-D04319595BED"), new Microsoft.Xrm.Sdk.Query.ColumnSet(true));  
    DateTime dt5 = DateTime.Now;  
    result = result + "普通方式查询数据时间 " + (dt5 - dt4).Milliseconds.ToString() + "\r\n";  
    result = result + "普通方式查询数据总时间 " + (dt5 - dt3).Milliseconds.ToString() + "\r\n";  
    #endregion  

    #region web api方式  
    DateTime dt6 = DateTime.Now;  
    HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://crmhost/api/data/v8.0/systemusers(B3EB9804-6CD8-E511-9413-D04319595BED)");  
    req.Credentials = new NetworkCredential("administrator", "", "skysoft");  
    req.Method = "Get";  
    using (HttpWebResponse res = (HttpWebResponse)req.GetResponse())  
     {  
       StreamReader read = new StreamReader(res.GetResponseStream());  
       string result1 = read.ReadToEnd();  
     }  
    DateTime dt7 = DateTime.Now;  
    result = result + "web api查询时间 " + (dt7 - dt6).Milliseconds.ToString() + "\r\n";  
    #endregion  
    Console.WriteLine(result);  
    Console.ReadLine();  
  }  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
分享出来的初衷,我分享一下最近我在群主版本(小黄豆CRM+v2.0.925.3)上加的功能,如果有类似需求的,可以把功能代码发你,节约你的开发时间。(这是在小黄豆开源免费CRM①群2317681发出的声音) CRM功能更新日志(20180718) 1、客户数据导入优化,解决重复数据导入问题。 2、客户数据添加的时候,如果客户已经被认领,将做提示。 3、增加“公共客户池”菜单,并提供“认领”操作,认领后客户会出现在“客户管理”菜单下。(将来公司的客户数据会放到该池子,供大家认领) 4、“客户管理”提供“转入高意向”和“放弃”功能,“转入高意向”后客户转移到“高意向客户”,“放弃”操作后数据放回“公共客户池”。 5、增加“高意向客户”菜单,该模块存储你所有高意向客户,通过该功能对客户进行分类,便于进行漏斗式管理。 6、给客户添加跟进后,客户状态改为“已跟进”同时客户排列在列表顶部,解决“已跟进”和“未跟进”客户分类问题,以便区别跟踪。 7、客户管理、高意向客户列表添加“邮箱”列。 8、客户新增添加“邮箱”属性。 9、客户导入支持导入“邮箱”。 10、财务管理、列表添加“所属客户”列。 11、解决订单管理、合同管理、应收管理和收款单备注属性失效问题。 12、增加“意向客户”模块,增加多一个客户分类,方便大家使用。 13、“客户管理”模块,增加“转意向客户”按钮 14、“意向客户”模块,增加“转高意向客户”按钮 15、“报表分析“的员工分析菜单下”增加【月内】客户新增“统计。 16、“报表分析“的员工分析菜单下”增加【月内】客户跟进“统计。 17、“报表分析“的员工分析菜单下”增加【月内】订单“统计。 18、批量转换,添加数量限制属性。 环境:前端基于Jquery Ligerui 1.1.1开发,后台使用C#开发 VS2015+sql2008 R2 说明:有问题上QQ群交流 QQ群:173459027 用户访问密码:表:hr_employee, pwd字段 密文: D8E423A9D5EB97DA9E2D58CD57B92808 明文:1234560 附件包括:1、小黄豆CRM+v2.0.925.3源码及说明.zip 2、CRM20180718(基于v2.0.925.3版本功能更新) 3、小黄豆CRM使用文档 4、2018更新日志.txt

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值