首先,XOML是3.0; WF4使用直線上的XAML。
這樣做有兩種選擇。這取決於是否需要升級正在運行的長時間運行的工作流程,或者是否需要更新工作流程並將其用於所有新實例,同時保持當前實例在先前版本上運行。讓我們打電話給這兩個選項升級和多版本策略。
重新多版本:
我目前這樣做。實質上,您必須在AppDomain內隔離相同工作流程的每個不同版本。從xaml反序列化或創建一個類型的實例是同樣的事情 - 它們都會導致程序集加載到當前AppDomain中。如果工作流的v1在程序集A.1中定義,並且工作流的V2在程序集A.2中定義,那麼如果您不小心,可能會遇到綁定問題。隔離其自己的AppDomain中的每個版本有助於減少發生這種情況的可能性。
重新升級:
這個目前不被支持,但也有包括本在(近)未來的發行計劃。 Ron Jacobs gave a presentation at PDC10 last October詳細介紹了WF4期貨。在演示文稿中提到了三件事(我記得) - 元數據錯誤破壞了構建,狀態機,並在執行過程中爲工作流提供了升級途徑。我可以告訴你,狀態機是在最近發佈的Platform Update中發佈的,而且我被告知元數據錯誤打破構建功能也即將推出。我假設升級路徑功能也即將推出。
感謝您的XOML/XAML校正。據此編輯。 – 2011-04-27 23:13:27