共用方式為


存取 OperationContext

本主題僅適用於 Windows Workflow Foundation 4。

這個範例示範訊息活動 (ReceiveSend) 如何與自訂範圍活動搭配使用,以存取 Current,以及附加或擷取傳出或傳入訊息中的自訂訊息標頭。

示範

訊息活動、ISendMessageCallbackIReceiveMessageCallback

討論

這個範例示範如何在訊息活動中使用擴充點 (ISendMessageCallbackIReceiveMessageCallback),以存取 Current。 回呼是在工作流程執行階段中註冊成為 IExecutionProperty 實作,而由訊息活動在完成時取用。 與該 IExecutionProperty 實作位於相同範圍中的任何訊息活動都會受到影響。 尤其這個範例使用自訂範圍活動,強制執行回呼行為。 用戶端工作流程中會使用 ISendMessageCallback,包含工作流程的 Id 做為傳出 MessageHeader。 接著服務會使用 IReceiveMessageCallback 取用此標頭,將標頭值印出至主控台。

若要安裝、建立及執行範例

  1. 這個範例使用 HTTP 端點公開工作流程服務。 若要執行這個範例,必須加入 URL ACL (如需詳細資訊,請參閱設定 HTTP 和 HTTPS),方式是以系統管理員身分執行 Visual Studio 或在高權限的提示字元中執行下列命令,以加入適當 ACL。 請確定您的網域和使用者名稱已用來取代。

    netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%
    
  2. 一旦加入 URL ACL,請使用下列步驟。

    1. 建置方案。

    2. 以滑鼠右鍵按一下方案,並選取 [設定啟始專案],設定多個啟始專案。

    3. 加入 ServiceClient (依此順序) 做為多個啟始專案。

    4. 執行應用程式。 用戶端主控台會顯示執行兩次的工作流程,而 [服務] 視窗會顯示這些工作流程的執行個體識別碼。

Ee834517.Important(zh-tw,VS.100).gif 注意:
這些範例可能已安裝在您的電腦上。 請先檢查下列 (預設) 目錄,然後再繼續。

<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