使用最新的Dynamics CRM SDK,我正在尝试创建一个新的CRMServiceClient([ConnectionString])。我尝试用它做任何事情,包括WHOAMI请求,我无法登录到Dynamics OrganizationServiceProxy为null。当我运行fiddler时,甚至没有尝试与服务器通信以尝试登录。我不确定是什么问题,因为我认为新建CRMServiceClient会尝试连接,因为OrganizationServiceProxy是CRMServiceClient的子对象。任何人都有任何想法如何解决这个问题?
var temp = new CrmServiceClient(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);
<add name="conn" connectionString="AuthType=AD; Url=Url/DEVCRM; Username=User; Password=pass;"/>
答案 0 :(得分:1)
请注意,CrmServiceClient有一个名为IsReady的布尔属性,这是检查它是否处于正确状态的好方法。
作为参考,以下是各种环境类型的示例连接字符串:
CRM 2016和Dynamics 365在线:
<add name="dev26" connectionString="Url=https://dev26.crm.dynamics.com; Username=user@dev26.onmicrosoft.com; Password=Pass; AuthType=Office365" />
内部集成安全性:
<add name="prod" connectionString="Url=http://myserver/AdventureWorksCycle;"/>
凭证的内部部署:
<add name="prod" connectionString="Url=http://myserver/AdventureWorksCycle; Domain=mydomain; Username=administrator; Password=password; AuthType=AD;"/>
CRM 2016之前的内部IFD:
<add name="prod" connectionString="Url=https://contoso.litware.com; Username=someone@litware.com; Password=password; AuthType=IFD;"/>
CRM 2016及更高版本的内部部署IFD(v8.0 +)
<add name="prod" connectionString="ServiceUri=https://contoso.litware.com/contoso; Domain=contoso; Username=contoso\administrator; Password=password; AuthType=IFD; LoginPrompt=Never;" />
答案 1 :(得分:0)
根据你的连接字符串我建议你添加域名。这应该可以解决您的问题。请查看以下示例:
使用内部部署身份验证的命名帐户
<add name="MyCRMServer"connectionString="AuthType=AD;Url=http://contoso:8080/Test;Domain=CONTOSO; Username=jsmith; Password=passcode" />
您可以在以下文章中找到更多信息 - https://msdn.microsoft.com/en-us/library/mt608573.aspx
答案 2 :(得分:0)
我发现如果您运行的是.net升级版本或降级计算机上安装的框架,.net 4.6.2无法与CRM SDK很好地配合使用。
如果原因不正确,请启用跟踪以获取更详细的错误消息,有关详细信息,请参阅以下文章:https://msdn.microsoft.com/en-au/library/dn689064.aspx