簡體   English   中英

將XAML工作流嵌入到另一個XAML工作流中

[英]Embed a XAML Workflow into another XAML Workflow

我們有兩種XAML工作流(WF1和WF2)的情況。 WF1是WF2的超集。 因此,盡管WF2在系統內獨立於WF1執行,但我們希望WF2在WF1執行時在WF1的范圍內執行。 基本上在WF1的末尾有一個書簽,必須恢復該書簽才能執行WF2。

它們都在共享資源上運行,我們不能在共享資源上同時運行這些WF的不同實例。 我們有一個排隊機制來解決這個問題。

我想做的是在設計時以某種方式在WF1中構建此執行。 因此,也許編寫一個代碼來加載WF2或將WF2以某種方式轉換為已編碼的活動並將其放入WF1等中。我不想要的是必須復制很多WF2並將其放入WF1設計器中。 同樣,我們也不想在WF1中啟動單獨的宿主進程來執行WF2。

基本上我們的WF1和WF2都在WorkflowServiceHost下運行。 它們不是傳統服務WF(因此沒有發送/接收活動),而是作為WCF服務公開的普通WF。 關於WorkflowServiceHost的持久性,跟蹤等方面,我們已經進行了大量自定義,這兩個WF都從中受益。 我想確保無論采用什么機制在WF1中啟動WF2,我們都不會失去這些好處。

PS:如果您想了解我們如何自定義這些WF的運行方式,可以在此處從我的博客下載示例代碼。

從技術上講,工作流只是一項活動。 因此,如果您使用WF1和WF2編譯項目,然后打開WF1,您將在活動工具箱中看到WF2。 只需將其拖到WF1上,連接所有參數即可,一切順利。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM