2011-11-29 50 views
0

什麼是解決WF 4.0以下最簡單的方法:Workflow Foundation的4.0請求 - 響應

  • 發送數據/請求到WCF服務(例如請求啓動進程X)
  • 獲取響應(簡單,反序列化輸入的成功/失敗),僅指示處理已開始。
  • 繼續處理(可能需要幾分鐘),在一個自定義WF活動
  • 結束

我的目標是有響應只要對象收到發送回WCF客戶端,處理任何處理而無需客戶等待。目前,我的順序工作流會鎖定,直到自定義活動完成,然後再繼續。

+0

您是否嘗試過使用Parallel活動來分支這兩個步驟?一個分支用於響應,另一個用於重處理。 – Joao

回答

0

一個建議的解決辦法是用f.ex.響應活動後添加等待活動1秒或更長的時間跨度。這將強制發送響應,並在1秒後繼續執行。

我不會稱這是一個解決方案,但可能是唯一的方法。

0

您可以將請求發送到WCF中的「OneWay」方法以啓動處理;

[OperationContract的(IsOneWay =真)]

雖然這並不發回的響應,可以假設,除非故障已經被提出,進程已經啓動。如果你需要表明如果失敗,就拋出一些東西。

然後可以調查另一種方法來檢查初始請求的狀態。或者,您可以使用WCF回調。

的引入一些概念What You Need To Know About One-Way Calls, Callbacks, And Events

+0

IsOneWay = true表示WCF操作沒有響應。這聽起來像他確實希望收到一個響應,表明請求已收到。 –

+0

好點(更新後),但是如果沒有收到來自呼叫的錯誤,您可以認爲它已成功。如果不是,則引發FaultException。 – ChrisBint

+0

我想返回我選擇的響應對象是。我將我的臨時解決方案作爲我自己職位的答案。 – Henrik

相關問題