簡體   English   中英

從另一個工作流程中運行一個工作流程

[英]Running a workflow from within another workflow

我目前在Windows WF中使用順序工作流,但是由於我現在有多個工作流需要共享一部分功能,因此需要分拆該過程。 我相信有一種方法可以在WF中創建自定義代碼活動,該活動基本上可以完成此任務,但是我的計划是最終放棄WF,轉而使用Stateless。 因此,我現在不想花時間學習如何編寫自定義活動的代碼。

我唯一能想到的就是創建一個包含所有“共享”行為的新WF項目,然后從需要它們的工作流中啟動它們。 我現在正在研究此過程,但是有人可以告訴我這是否是一個壞主意嗎?

編輯 -我現在看到的一個“問題”是我為WF運行時使用了一個單例,因為我以前經歷過大量內存泄漏,即使我正確處置了WF RT也是如此。 我在工作流的初始調用方中跟蹤所有WF實例,因此為了正確處理事件,我必須將此WF實例列表傳遞到工作流中,以便它可以添加我在內部啟動的WF。 對我來說似乎有些混亂,盡管我當然仍然可以這樣嘗試。 我跟蹤WF實例,因為我試圖使用它來啟用“暫停/中止/恢復”功能。 當用戶單擊GUI中的相應按鈕時,它將在所有WF實例上循環並調用匹配方法。

將工作流程分為多個單獨部分的主要問題是它們完全斷開了連接。 那是主要工作流程不等待子工作流程完成。 可以做到,但需要做些事情。

要記住的另一個想法是錯誤處理。 當子工作流程發生故障時,主工作流程不會意識到這一點,這與添加子活動完全不同。

如果需要重用邏輯,則還可以使用設計器創建復合活動。 這與開發工作流程非常相似,您可以根據需要在多個工作流程上重用這些活動。

暫無
暫無

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

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