共用方式為


使用 CrmServiceClient 建構函式連線至 Dynamics 365

 

發行︰ 2017年1月

適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

若要連線至 Microsoft Dynamics 365,請建立 CrmServiceClient 類別的執行個體,然後使用其中一個建構函式進行連線。 所有使用 CrmServiceClient 類別的 Dynamics 365 呼叫都具備執行緒安全。

除了本主題中所提到的建構函式之外,您也可以使用連接字串搭配 CrmServiceClient 連線至 Dynamics 365。其他資訊:在 XRM 工具中使用連接字串連線至 Dynamics 365

本主題內容

使用 OrganizationServiceProxy 連線至 Dynamics 365

使用 OrganizationServiceProxy 連線至 Dynamics 365

連線至 Dynamics 365 (Online) (Office 365)

使用 OAuth 連線至 Dynamics 365 (Online) (Office 365)

連線至 Dynamics 365 內部部署 (Active Directory)

連線至 Dynamics 365 網際網路對向部署 (IFD)

使用 OAuth 連線至 Dynamics 365 網際網路對向部署 (IFD)

連線至 Dynamics 365 (宣告型)

判斷連線狀態

使用 OrganizationServiceProxy 連線至 Dynamics 365

透過使用者提供的 OrganizationServiceProxy 執行個體使用下列建構函式連線至 Dynamics 365。

CrmServiceClient crmSvc = new CrmServiceClient(<orgServiceProxy>);

使用 OrganizationServiceProxy 連線至 Dynamics 365

透過使用者提供的 OrganizationWebProxyClient 執行個體使用下列建構函式連線至 Dynamics 365。 此建構函式已在 Microsoft Dynamics 365 (線上和內部部署) 中推出。

CrmServiceClient crmSvc = new CrmServiceClient(<orgWebProxyClient>);

連線至 Dynamics 365 (Online) (Office 365)

使用下列建構函式連線至您在 Office 365 中的 Dynamics 365 (線上) 執行個體。

CrmServiceClient crmSvc = new CrmServiceClient("<UserName>", CrmServiceClient.MakeSecureString("<Password>"), "<CrmRegion>", "<OrgName>", useUniqueInstance:false, useSsl:false, <orgDetail>, isOffice365:true);

<CrmRegion> 參數的有效值包括:NorthAmericaEMEAAPACSouthAmerica, OceaniaJPNCANINDNorthAmerica2。 如果將此設定為 String.Empty,則會搜尋所有區域的伺服器中的 Dynamics 365 組織。 對於 <OrgName> 參數,您可以指定唯一或易記名稱。

下列參數為選擇性:useUniqueInstanceuseSslorgDetail

使用 OAuth 連線至 Dynamics 365 (Online) (Office 365)

使用下列建構函式使用 OAuth 通訊協定連線至您在 Office 365 中的 Dynamics 365 (線上) 執行個體。OAuth 支援已在 Microsoft Dynamics 365 (線上和內部部署) 中推出。

CrmServiceClient crmSvc = new CrmServiceClient("<UserName>", CrmServiceClient.MakeSecureString("<Password>"), "<CrmRegion>", "<OrgName>", useUniqueInstance:false, <orgDetail>,
                  <userIdentifier>, <clientId>, <redirectUri>, <tokenCachePath>, <externalOrgWebProxyClient>, PromptBehavior.Auto);

此建構函式使用 Microsoft Azure Active Directory 驗證程式庫 (ADAL) 驗證使用者。 如果使用者認證 (使用者名稱與密碼) 未指定,ADAL 會根據建構函式中指定的 PromptBehavior 參數 (選擇性) 提示使用者提供認證。 ADAL 會使用 OAuth 通訊協定驗證認證,取得存取權和重新整理來自 Azure Active Directory 的 Token,然後使用存取 Token 向 Dynamics 365 提出要求。

<CrmRegion> 參數的有效值包括:NorthAmericaEMEAAPACSouthAmericaOceaniaJPNCANINDNorthAmerica2。 如果將此設定為 String.Empty,則會搜尋所有區域的伺服器中的 Dynamics 365 組織。 對於 <OrgName> 參數,您可以指定唯一或易記名稱。

連線至 Dynamics 365 內部部署 (Active Directory)

使用下列建構函式連線至內部部署執行個體,透過 Active Directory 驗證。

CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>", “<Domain>”), AuthenticationType.AD, "<Server>", "<Port>", "<OrgName>", useUniqueInstance:false, useSsl:false, <orgDetail>);

這樣會根據指定的網域執行 Active Directory 驗證。 對於 <Server> 參數,指定您 Dynamics 365 伺服器的主機名稱,例如:crmtest。 對於 <OrgName> 參數,您可以指定唯一或易記名稱。

下列參數為選擇性:useUniqueInstanceuseSslorgDetail

連線至 Dynamics 365 網際網路對向部署 (IFD)

使用下列建構函式連線至 Dynamics 365 IFD 執行個體。

CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>", “<Domain>”), AuthenticationType.IFD, "<Server>", "<Port>", "<OrgName>", useUniqueInstance:false, useSsl:false, <orgDetail>);

這樣將會根據指定的本機網域執行宣告型驗證。 這對於使用 AD FS,並且將其 Dynamics 365 伺服器設定為宣告的客戶很實用,因為使用者客戶群位於 AD FS 網域中,與 Dynamics 365 伺服器相同。 對於 <Server> 參數,指定您 Dynamics 365 伺服器的主機名稱,例如 crmtest。 對於 <OrgName> 參數,您可以指定唯一或易記名稱。

下列參數為選擇性:useUniqueInstanceuseSslorgDetail

使用 OAuth 連線至 Dynamics 365 網際網路對向部署 (IFD)

使用下列建構函式使用 Windows Server 2012 R2 中的 Active Directory Federation Services (AD FS) 中的 OAuth 通訊協定連線至 Dynamics 365 IFD 執行個體。 若要使此建構函式運作,安裝 Microsoft Dynamics 365 Server 所在的電腦必須已設定為使用 AD FS 2.2 做為 Security Token Service (STS)。 連線至 Dynamics 365 IFD 執行個體的 OAuth 支援已在 Dynamics 365 中推出。

CrmServiceClient crmSvc = new CrmServiceClient("<UserName>", CrmServiceClient.MakeSecureString("<Password>"), "<HomeRealm>", "<HostName>", "<Port>", "<OrgName>", useSsl:true, useUniqueInstance:false, 
                        <orgDetail>, <userIdentifier>, <clientId>, <redirectUri>, <tokenCachePath>, externalOrgWebProxyClient, PromptBehavior.Auto);

支援 OAuth 的應用程式的 clientIdredirectUri 值應在 IFD 伺服器中註冊。

如果使用者認證 (使用者名稱與密碼) 未指定,ADAL 會根據建構函式中指定的 PromptBehavior 參數 (選擇性) 提示使用者提供認證。 ADAL 使用 AD FS 的安全性權杖驗證使用者,並使用權杖在 Dynamics 365 中執行動作。

連線至 Dynamics 365 (宣告型)

使用下列建構函式使用宣告型驗證。

CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>", “<Domain>”, "<HomeRealm>"),"<Server>", "<Port>", "<OrgName>");

這樣將會依據指定的首頁領域執行宣告型驗證。 這對於使用 AD FS,並且將其 Dynamics 365 伺服器設定為宣告的客戶很實用,因為使用者客戶群位於 AD FS 網域中,與 Dynamics 365 伺服器相同。 對於 <Server> 參數,指定您 Dynamics 365 伺服器的主機名稱,例如 crmtest。 對於 <OrgName> 參數,您可以指定唯一或易記名稱。

判斷連線狀態

若要判斷連線要求是否成功,請檢查 CrmServiceClient.IsReady 屬性的值。 如果為 true,表示連線成功,且您可以開始工作。 否則,請檢查 CrmServiceClient 的值。LastCrmErrorCrmServiceClient.LastCrmException 屬性,用於連線失敗的原因。

另請參閱

AuthenticationType
在 XRM 工具中使用連接字串連線至 Dynamics 365
使用 PowerShell Cmdlet 讓 XRM 工具連線至 Dynamics 365
使用 XRM 工具在 Dynamics 365 中執行動作
範例:Microsoft Dynamics 365 快速入門
使用 XRM 工具,建立 Windows 用戶端應用程式

Microsoft Dynamics 365

© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權