2

我正在開發Sub工作流程類庫的過程;我有一套用於創建Sub工作流程的活動。我想將這些子工作流程作爲可重複使用的工作流程來開發,我可以在創建實際工作流程時使用這些工作流程。我基本上實現了現有工作流程的類庫,供其他人用來創建實際的業務工作流程。我想要的是,當用戶創建一個Sub工作流時,它應該自動添加到工作流的類庫中並進行編譯,並且應該在運行時作爲可重用組件提供。可重用的子工作流?

+0

您將不得不澄清這一點。 – Will 2011-04-17 01:11:42

+0

意願進一步澄清;我正在尋找的是開發工作流程,這些工作流程非常細緻,由開發人員開發。這些將被其他用戶用作組件。它就像由開發人員開發的定製類庫,每個其他開發人員都可以利用它... – 2011-04-18 15:24:58

回答

1

我相信我理解你的目標,但它不像你認爲的那樣容易。第一個本能是爲你的解決方案添加一個Activity(Add => New Item => Workflow => Actvity),並將其他活動拖放到設計圖面上。

這將創建可重用的工作流程,但不幸的是他們不會有任何與其關聯的設計器。所以,當其他用戶試圖從工具箱拖動這些工作流,並在不同的解決方案中使用它們的工作流程,他們會得到這樣的事情:

designer fail

這不完全是有用的。另一種方法是創建一個實現IActivityTemplateFactory的自定義活動。這種類型(我相信*)可以添加到工具箱中。當它們被拖動到設計圖面上時,將調用Create方法。在此方法中,您可以構建任何您想要的工作流程並將其返回。此活動樹將添加到工作流程中,以便其中的所有活動都可見。

*您可能還必須擴展活動才能使其顯示在工具箱中;對此我不確定。將活動視爲一個實際上從未使用的虛擬模型。