共用方式為


在 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 Server 的 URL。 URL 可使用 http 或 https 通訊協定,而連接埠是選擇性的。http 通訊協定的預設連接埠為 80,https 通訊協定則為 443。Dynamics 365 內部部署的伺服器 URL 通常格式為 http://crm-server:port/organization-name 和 https://organization-name。crm.dynamics.com for 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 或首頁領域 URI

指定首頁領域 URI。

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 Federation Services (AD FS) 中註冊應用程式時指派的 ClientID

此參數僅在指定的驗證類型為 OAuth 時才適用。

RedirectUri 或 ReplyUrl

指定您在 Microsoft Azure Active Directory 或 Active Directory Federation Services (AD FS) 中註冊的應用程式重新導向 URI。

此參數僅在指定的驗證類型為 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 中使用具名帳戶的 OAuth,並透過 UX 提示進行驗證

<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 內部部署中使用具名帳戶的 OAuth,並透過 UX 提示進行驗證

<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. 著作權所有,並保留一切權利。 著作權