存取 OperationContext
本主題僅適用於 Windows Workflow Foundation 4。
這個範例示範訊息活動 (Receive 和 Send) 如何與自訂範圍活動搭配使用,以存取 Current,以及附加或擷取傳出或傳入訊息中的自訂訊息標頭。
示範
訊息活動、ISendMessageCallback、IReceiveMessageCallback。
討論
這個範例示範如何在訊息活動中使用擴充點 (ISendMessageCallback 和 IReceiveMessageCallback),以存取 Current。 回呼是在工作流程執行階段中註冊成為 IExecutionProperty 實作,而由訊息活動在完成時取用。 與該 IExecutionProperty 實作位於相同範圍中的任何訊息活動都會受到影響。 尤其這個範例使用自訂範圍活動,強制執行回呼行為。 用戶端工作流程中會使用 ISendMessageCallback,包含工作流程的 Id 做為傳出 MessageHeader。 接著服務會使用 IReceiveMessageCallback 取用此標頭,將標頭值印出至主控台。
若要安裝、建立及執行範例
這個範例使用 HTTP 端點公開工作流程服務。 若要執行這個範例,必須加入 URL ACL (如需詳細資訊,請參閱設定 HTTP 和 HTTPS),方式是以系統管理員身分執行 Visual Studio 或在高權限的提示字元中執行下列命令,以加入適當 ACL。 請確定您的網域和使用者名稱已用來取代。
netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%
一旦加入 URL ACL,請使用下列步驟。
建置方案。
以滑鼠右鍵按一下方案,並選取 [設定啟始專案],設定多個啟始專案。
加入 Service 和 Client (依此順序) 做為多個啟始專案。
執行應用程式。 用戶端主控台會顯示執行兩次的工作流程,而 [服務] 視窗會顯示這些工作流程的執行個體識別碼。
注意: |
---|
這些範例可能已安裝在您的電腦上。 請先檢查下列 (預設) 目錄,然後再繼續。
<InstallDrive>:\WF_WCF_Samples
如果此目錄不存在,請移至用於 .NET Framework 4 的 Windows Communication Foundation (WCF) 與 Windows Workflow Foundation (WF) 範例 (英文),以下載所有 Windows Communication Foundation (WCF) 和 WF 範例。 此範例位於下列目錄。
<InstallDrive>:\WF_WCF_Samples\WF\Scenario\Services\Accessing Operation Context
|