2010-05-27 56 views

回答

2

你很可能會得到一些奇怪的類型轉換異常。 WF4不支持將現有工作流實例升級到新版本。一個嚴重的問題,如果你不知道它。

用工作流服務解決這個問題的建議方法是使用多個服務主機,每個服務主機託管一個獨特的版本,並將WCF 4中的新服務路由器放在它的前面。客戶端向路由器發送消息,並根據WorkflowServiceHost應處理請求的消息來決定。

如果您正在使用WorkflowApplication,則基本上需要執行類似操作。跟蹤實例的版本,並在要重新加載工作流實例時加載正確的工作流定義。

+0

正如我所見,我將所有這些服務都保存在IIS中,並在其前面放置了一條消息路由器,將消息重定向到消息中請求的版本。 看起來不錯。 – 2010-05-27 15:34:14

+1

從初始呼叫返回工作流版本,併爲每個後續呼叫設置必需的參數可以使路由更容易。 – Maurice 2010-05-27 16:45:38