部署 Web 服務簡介
發行︰ 2017年1月
適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online
部署服務可讓您建立解決方案,以利用多個組織的支援,也稱為多組織用戶共享支援。Microsoft Dynamics 365 可讓您在單一部署中代管多個客戶組織。 此功能有益於組織內需要資料分隔的主控解決方案或業務。 因為使用部署服務需要存取 Dynamics 365 伺服器,因此只能用於 Microsoft Dynamics 365 內部部署的部署。
有了支援多個組織的功能,Microsoft Dynamics 365 Web 應用程式及 Web 服務就能支援跨多個企業組織儲存和擷取資料,同時維護各個組織的安全性和隱私權。 可儲存所有客戶組織的中繼資料與位置資訊的單一 Microsoft Dynamics 365 設定資料庫。 不過,每個客戶組織在執行 Microsoft SQL Server 的伺服器上都有自己的資料庫。 如需部署服務所控制的實體和組態設定的詳細資訊,請參閱部署實體和部署組態設定。
Microsoft Dynamics 365 不支援部署服務的回溯相容端點,因此任何針對 Microsoft Dynamics CRM 4.0 部署服務撰寫的程式碼都必須以新組件更新並重新編譯。
新增部署服務至專案
您可以藉由新增 Microsoft.Xrm.Sdk.Deployment.dll 組件的參考來使用部署服務,該組件位於 SDK\bin 資料夾中。 或者,您可以新增下列服務參考至您的解決方案。
http://myservername/xrmdeployment/2011/deployment.svc
svcutil.exe http:// myservername/XRMDeployment/2011/Deployment.svc?wsdl
這樣將會產生設定檔,以及包含用戶端類別的程式碼檔案。 新增這兩個檔案至您的用戶端應用程式,並且使用產生的用戶端類別呼叫服務。
部署服務安裝
若要對 Microsoft Dynamics 365 部署實體執行呼叫,則必須在 Microsoft Dynamics 365 伺服器上正確安裝 Deployment Service 伺服器角色。 確認您的部署服務安裝符合下列準則:
您必須安裝 Deployment Service 伺服器角色,才能使用組織作業,例如建立或升級。 網域使用者帳戶必須具有組織資料庫裝載所在的 SQL Server 上的本機系統管理和系統管理權限。
Deployment Service 應以不同於其他 Microsoft Dynamics 365 服務和應用程式伺服器的服務識別執行。 如果您使用網路服務,伺服器角色應另外安裝在不同的伺服器上,不與任何其他 Microsoft Dynamics 365 伺服器角色安裝在一起。 將 Deployment Service 角色與其他伺服器角色並行安裝可能造成安全性風險,因為這兩種伺服器都是以網路服務帳戶執行。 如果您使用網路服務帳戶,就無法使用 Windows PowerShell 或部署 Web 服務執行組織作業。
如需安裝部署服務的詳細資訊,請參閱 Microsoft Dynamics CRM 伺服器角色。
Microsoft Dynamics 365 有兩個主要伺服器元件:Microsoft Dynamics 365 應用程式伺服器和 Microsoft Dynamics 365 伺服器。 這兩個元件各包含一組不同的伺服器角色,會在安裝程式執行時安裝。 使用安裝精靈安裝 Microsoft Dynamics 365 平台伺服器時,會自動安裝 Deployment Service 角色。
部署服務驗證並模擬
Deployment Service 驗證是透過 Active Directory 處理,也就是 Windows 整合式驗證。 您也可以使用模擬,它可讓您以其他已驗證使用者的身分呼叫 Web 服務方法來提供所需的功能或服務。 若要呼叫部署 Web 服務,您必須是 Microsoft Dynamics 365 部署系統管理員。 如需詳細資訊,請參閱新增部署系統管理元。
下列範例將說明如何使用 ProxyClientHelper 類別透過預設認證驗證並使用部署服務。
DeploymentServiceClient service = Microsoft.Xrm.Sdk.Deployment.Proxy.ProxyClientHelper.CreateClient(new Uri("http://MyServerName/XRMDeployment/2011/Deployment.svc"));
RetrieveAllRequest request = new RetrieveAllRequest()
{
EntityType = DeploymentEntityType.DefaultOrganization};
RetrieveAllResponse response = (RetrieveAllResponse) service.Execute(request);
}
Microsoft Dynamics 365 Web 服務可由代表 Microsoft Dynamics 365 使用者的各種不同用戶端和服務呼叫。 每次呼叫都必須是經驗證的呼叫。 模擬可代表已驗證的 Microsoft Dynamics 365 使用者執行呼叫。 使用模擬時,應避免處理 Web 服務 (ASP.NET) 程式碼中的驗證與授權問題。 您應改為利用 Internet Information Services (IIS) 驗證使用者及傳遞已驗證的 Token 給 Web 服務。 如果使用者無法進行驗證,IIS 會傳遞未經驗證的 Token。
下列範例將說明如何使用模擬搭配部署服務。
DeploymentServiceClient service = Microsoft.Xrm.Sdk.Deployment.Proxy.ProxyClientHelper.CreateClient(new Uri("http://myservername/XRMDeployment/2011/Deployment.svc"));
service.ClientCredentials.Windows.ClientCredential = new NetworkCredential("administrator", "myp@ssword!", "myservernamedom");
RetrieveAllRequest request = new RetrieveAllRequest()
{
EntityType = DeploymentEntityType.DefaultOrganization};
RetrieveAllResponse response = (RetrieveAllResponse) service.Execute(request);
}
部署服務的功能
部署服務會遵循類似主要 Microsoft Dynamics 365 Web 服務的部署模型。 您會使用一些實體、方法和訊息與部署服務互動。 如需有關主要 Microsoft Dynamics 365 Web 服務的詳細資訊,請參閱在程式碼中使用 Microsoft Dynamics 365 服務。
部署服務有兩種類型的實體:部署實體和部署組態設定。 兩者都是由同一組方法存取。 如需這些實體的詳細資訊,請參閱部署實體和部署組態設定。
除了核心部署實體之外,部署服務還會提供讀取和編輯中繼資料所驅動之進階設定的能力。 這些進階設定可讓您存取儲存在設定資料庫中的資訊。
部署服務同時支援 Execute 方式的同步和非同步訊息。 如需詳細資訊,請參閱部署 Web 服務訊息。
下表列出部署服務中可用的方法。
方法名稱 |
描述 |
---|---|
從部署實體中刪除記錄。 |
|
執行部署服務的要求。 如需詳細資訊,請參閱部署 Web 服務訊息。 |
|
從部署實體或部署組態設定擷取記錄。 |
|
從部署實體或部署組態設定擷取所有記錄。 |
|
更新部署實體或部署組態設定中的記錄。 |
另請參閱
IDeploymentService
Microsoft.Xrm.Sdk.Deployment.Proxy
ProxyClientHelper
使用部署 Web 服務管理部署
部署實體和部署組態設定
部署 Web 服務訊息
Microsoft Dynamics 365
© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權