在工作流程中使用合約
本主題僅適用於 Windows Workflow Foundation 4。
實作服務時,您會定義許多合約,這些合約會描述服務及服務傳送與接收的資料。 資料會以資料合約和訊息合約表示,WCF 和工作流程服務都會使用資料合約和訊息合約定義做為服務描述的一部分。 服務本身會公開中繼資料 (以 WSDL 的形式) 來描述服務的作業。 在 WCF 中,服務合約和作業合約會定義所支援的服務及作業。 不過,在工作流程服務中,這些合約是商務程序本身的一部分,會由稱為「合約推斷」的處理序在中繼資料中公開。
合約推斷
使用 WorkflowServiceHost 裝載工作流程服務時,會檢查該工作流程定義,並根據在工作流程中找到的傳訊活動集產生合約。 特別是,下列活動和屬性會用來產生合約:
Receive 活動
OperationContractName
SendReply 活動
合約推斷的最終結果是與 WCF 服務和作業合約使用相同資料結構的服務描述。 接著,這項資訊會用來公開工作流程服務的 WSDL。
![]() |
---|
.NET Framework 4 不允許您使用現有的合約定義而不使用其他工具撰寫工作流程服務。 您無法使用現有的 WCF 服務合約產生工作流程服務合約。 工作流程服務合約是由上述合約推斷程序所建立的, 但可以完全支援訊息合約和資料合約。 |