不少从事D365研发工作的朋友,可能或多或少都经历过这么一种情况,使用CrmServiceClient对象初始化一个实例,然后发现OrganizationServiceProxy对象是null。不仅如此,还可能碰到的情况是封装好的Common构造,连接一个CRM环境时好用,但是连接另一个却不好用。下面是针对这样的情况,总结的一些注意事项,用以尝试解决问题:

  1. TLS1.2的指定是否添加了。对于使用最新版本CRM dll的开发来说,这不是个问题,因为.Net Framework 4.6.2已经把TLS1.2作为默认选项了。但是如果你的版本还是旧的,那么就需要明确指定它了,具体的指定方式是这样的:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

  

  2. 一般我们在初始化CrmServiceClient对象的时候呢,传入的参数是一个ConnectionString。这个ConnectionString长什么样,大家可以上网查。这里我要说的是String里有几个参数需要注意,一个Domain,一个Username,还有个authType。

  a. 在连接OP环境的时候,建议使用Domain和Username都带上的String作为参数;在连接OL环境的时候,建议仅使用Username参数,并且赋值方式为xxx@xxx的格式

  b. 不管哪种连接方式,ConnectionString都带上authType参数,并正确赋值

  3. dll版本升级或者.Net Framework升级,更具体点就是对dll以及.Net Framework版本匹配的检查

  不管是dll版本改变还是Framework版本变化,都需要注意新版本的dll对.Net Framework的要求,还有对依赖项dll的要求。举个最近碰到的例子,最新版本的CRM dll需要Framework的版本是4.6.2,在把Framework升级以后,发现ServiceProxy是null,经过一系列的排查之后,发现是某些系统dll的引用版本过低,以及nuget上之前添加的其他dll版本过低导致的,但是这些问题都不会在build阶段给你暴露出来。

  如果碰到1和2都满足的情况下,ServiceProxy还是构造失败,那么看看error message是如果描述失败原因的。在构造CrmServiceClient对象之后,如果存在什么异常信息,一般会在LastCrmException属性里暴露出来,所以还可以看看这里的信息来诊断问题。

  目前博主碰到的问题大致是这几个方面的,如果再遇到其他情况,会继续进行更新。

Dynamics 365-当OrganizationServiceProxy是Null的时候的更多相关文章

  1. Dynamics 365中部分账号使用系统明显缓慢怎么办?先这么干!

    摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复263或者20170828可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...

  2. Dynamics 365 POA表记录的查询

    微软动态CRM专家罗勇 ,回复313或者20190311可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . PrincipalO ...

  3. 将Dynamics 365中的用户及其角色、角色导出到Excel中

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复240或者20161204可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  4. 一种提升连接Dynamics 365性能的方法

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复256或者20170512可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  5. Dynamics 365 Customer Engagement导入解决方案时出错:Microsoft.Crm.CrmException: Plug-in assembly does not contain the required types or assembly content cannot be updated.

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  6. 为Dynamics 365写一个简单程序实现解决方案一键迁移

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复258或者20170627可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  7. 不借助工具在浏览器中通过Web API执行Dynamics 365操作(Action)实例

    摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复262或者20170727可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...

  8. Dynamics 365 CE中使用FetchXML进行聚合运算

    微软动态CRM专家罗勇 ,回复328或者20190429可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! Dynamics 365 Customer Engagement ...

  9. Dynamics 365中的批量删除作业执行频率可以高于每天一次吗?

    微软动态CRM专家罗勇 ,回复317或者20190314可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 我先来做一个例子,登 ...

  10. Dynamics 365 CE中AsyncOperationBase表记录太多,影响系统性能怎么办?

    微软动态CRM专家罗勇 ,回复311或者20190311可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 本文主要是根据微软官 ...

随机推荐

  1. flex布局的兼容问题

    一.W3C各个版本的flex 2009 version 标志:display: box; or a property that is box-{*} (eg. box-pack) 2011 versi ...

  2. Spring Data JPA 的一对多,一对多,多对多操作

    一对一的关联关系   需求:用户与角色的一对一的关联关系 用户:一方 角色:一方     创建 Users 实体 @Entity @Table(name = "t_users") ...

  3. JVM内运行时数据区

    JVM的基本区域: 类加载子系统 运行时数据区(内存区域) 执行引擎 运行时数据区域 方法区(Method Area) 类的所有字和方法字节码,以及一些特殊方法如构造函数,接口代码也在这里定义.简单来 ...

  4. Multiplication Game

    Description Alice and Bob are in their class doing drills on multiplication and division. They quick ...

  5. HDU-1698-----Just Hook

    In the game of DotA, Pudge's meat hook is actually the most horrible thing for most of the heroes. T ...

  6. 深度实践KVM(1-8章)

    第一章 企业虚拟化选型与KVM介绍 1.1 KVM的前世今生 1.虚拟化技术的演进过程 软件模拟——>虚拟化层翻译——>容器虚拟化 虚拟化层翻译可以分为: (1)软件捕捉翻译,即软件全虚拟 ...

  7. 【CSS】309- 复习 CSS盒模型

    点击上方"前端自习课"关注,学习起来~ 一.概念 CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:外边距(margin).边框(border).内边距(padding ...

  8. ubuntu16.04修改ssh的端口

    直接修改文件   /etc/ssh/sshd_config文件,

  9. js重学

    js重学 数据类型 基本数据类型: Undefined.Null.Number.Boolean.String 复杂数据类型:Object Object:由一组无序键值对组成 typeof 未定义--u ...

  10. python利用setsockopt获得端口重用

    server.setsockopt(SOL_SOCKET,SO_REUSEADDR,1) 假如端口呗socket使用过,并且利用socket.close()来关闭连接,但此时端口还没有释放,要经过一个 ...