共用方式為


存取 OperationContext

AccessingOperationContext 範例示範傳訊活動 (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. 執行應用程式。 用戶端主控台會顯示執行兩次的工作流程,而 [服務] 視窗會顯示這些工作流程的執行個體識別碼。