使用 XRM 工具中的连接字符串连接至 Dynamics 365

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

使用 Microsoft Dynamics 365(在线或本地) 时,XRM 工具允许您使用连接字符串连接到您的 Dynamics 365 实例。 这类似于用于 Microsoft SQL Server 的连接字符串概念。 连接字符串得到配置文件的本机支持,包括能够加密配置部分来获得最大安全性。 这允许您在部署时配置 Dynamics 365 连接,并且不会在您的应用程序中进行硬编码以连接到 Dynamics 365 实例。

本主题内容

创建连接字符串

连接字符串参数

连接字符串示例

确定您的连接状态

创建连接字符串

您需在 app.config 或 web.config 文件中为您的项目指定此连接字符串,如以下示例所示。

<connectionStrings>
    <add name="MyCRMServer" connectionString="AuthType=AD;Url=http://contoso:8080/Test;" />
</connectionStrings>
System_CAPS_security 安全性 说明

如果要向 app.config 或 web.config 文件添加任何敏感信息(如帐户密码),请确保采取适当的安全措施来保护该信息。

在创建连接字符串后,您可以使用它创建CrmServiceClient对象。

//Use the connection string named "MyCRMServer"
//from the configuration file
CrmServiceClient crmSvc = new CrmServiceClient(ConfigurationManager.ConnectionStrings["MyCRMServer"].ConnectionString);

备注

您必须在代码中使用以下using指令引用用来访问代码中的连接字符串的System.Configuration命名空间:using System.Configuration;

在创建CrmServiceClient对象后,则可以使用此对象在 Dynamics 365 中执行操作。详细信息:使用 XRM 工具执行 Dynamics 365 中的操作

连接字符串参数

连接字符串包含一系列用分号隔开的名称=值对。 下表列出支持的参数,这些参数可以按任何顺序输入。

参数名称

说明

ServiceUri, Service Uri, Url, or Server

指定 Microsoft Dynamics 365 服务器 的 URL。 此 URL 可以使用 http 或 https 协议,端口任选。http 协议的默认端口是 80,https 协议的默认端口是 443。 服务器 URL 通常采用的格式是 http://crm-server:port/organization-name(针对 Dynamics 365 内部部署)和 https://organization-name.crm.dynamics.com(针对Dynamics 365(在线))。

组织名称必填。 您可以为要连接的组织指定一个友好名称或唯一名称。

例如:http://contoso/test, http://contoso:5555/test, https://contoso/test, https://test.crm.dynamics.com ,或 http://10.10.10.2/test。

Domain

指定将验证用户凭据的域。

UserName, User Name, UserId, or User Id

指定与凭据关联的用户标识名称。

Password

指定与凭据关联的用户名的密码。

HomeRealmUri 或 Home Realm Uri

指定主域 URL。

AuthenticationType 或 AuthType

指定要连接到 Dynamics 365 实例的身份验证类型。 有效值为:ADIFD(AD FS启用)、OAuthOffice365

  • ADIFD 仅允许用于 Dynamics 365 内部部署实例。

  • OAuth 允许用于 Dynamics 365(在线) 和内部部署实例。

  • Office365 仅允许用于 Dynamics 365(在线) 实例。

RequireNewInstance

指定在连接仍可用时如果重新调用时是否重用现有连接。 默认值为 false,表示应重新使用现有连接。 如果设置为 true,将强制系统创建一个唯一连接。

ClientId、AppId 或 ApplicationId

指定在 Microsoft Azure Active Directory 或 Active Directory 联合身份验证服务 (AD FS) 中注册您的应用程序时要分派的 ClientID

只有当身份验证类型指定为 OAuth 时,此参数才适用。

RedirectUri 或 ReplyUrl

指定您在 Microsoft Azure Active Directory 或 Active Directory 联合身份验证服务 (AD FS) 中注册的应用程序的重定向 URL。

只有当身份验证类型指定为 OAuth 时,此参数才适用。

TokenCacheStorePath

指定存储用户令牌缓存的位置的完整路径。 运行进程应具有指定路径的访问权限。 进程负责设置和配置此路径。

只有当身份验证类型指定为 OAuth 时,此参数才适用。

LoginPrompt

指定当未提供凭据时是否提示用户提供凭据。 有效值为:

  • Always:始终提示用户指定凭据。

  • Auto:允许用户在登录控制界面上选择是否显示提示。

  • Never:不提示用户指定凭据。 如果使用连接方法不具有用户界面,应使用此值。

只有当身份验证类型指定为 OAuth 时,此参数才适用。

连接字符串示例

以下示例演示如何使用连接字符串连接到其他部署和身份验证方案。

集成内部部署身份验证

<add name="MyCRMServer" connectionString="AuthType=AD;Url=http://contoso:8080/Test;" />

使用内部部署身份验证的已命名帐户

<add name="MyCRMServer" connectionString="AuthType=AD;Url=http://contoso:8080/Test; Domain=CONTOSO; Username=jsmith; Password=passcode" />

使用 Office 365 的已命名帐户

<add name="MyCRMServer" connectionString="AuthType=Office365;Username=jsmith@contoso.onmicrosoft.com; Password=passcode;Url=https://contoso.crm.dynamics.com"/>

使用 Office 365 中的已命名帐户与 UX 一起提示身份验证的 OAuth

<add name="MyCRMServer" connectionString="AuthType=OAuth;Username=jsmith@contoso.onmicrosoft.com; Password=passcode;Url=https://contosotest.crm.dynamics.com;AppId=<GUID>;RedirectUri =app://<GUID>;TokenCacheStorePath =c:\MyTokenCache;LoginPrompt=Auto"/>

使用 Dynamics 365 本地部署中的已命名帐户与 UX 一起提示身份验证的 OAuth

<add name="MyCRMServer" connectionString="AuthType=OAuth;Username=jsmith@contoso.onmicrosoft.com; Password=passcode;Url=https://contoso:8080/Test;AppId=<GUID>;RedirectUri=app://<GUID>;TokenCacheStorePath =c:\MyTokenCache;LoginPrompt=Auto"/>

使用指派给子域的已命名帐户的 IFD

<add name="MyCRMServer" connectionString="AuthType=IFD;Url=http://contoso:8080/Test; HomeRealmUri=https://server-1.server.com/adfs/services/trust/mex/;Domain=CONTOSO; Username=jsmith; Password=passcode" />

确定您的连接状态

若要确定连接请求是否成功,请检查 CrmServiceClient 的值。IsReady 的属性。 如果为 true ,说明该连接为成功连接,您可以准备工作。 否则,请检查 CrmServiceClient 的值。LastCrmErrorCrmServiceClient。导致连接失败的LastCrmException 属性。

另请参阅

CrmServiceClient
使用 XRM 工具,构建 Windows 客户端应用程序
使用 CrmServiceClient 构造函数连接到 Dynamics 365
使用 XRM 工具执行 Dynamics 365 中的操作

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权