簡體   English   中英

加載工作流程實例

[英]Loading a Workflow Instance

假設我有一個Web應用程序,並且需要在一頁中上傳文檔。 然后將文檔轉換為其他文檔,然后用戶可以看到轉換后的文檔。

我想要一個具有4種狀態的工作流程。

  1. 已上傳
  2. 轉換中
  3. 已轉換

因此,現在用戶進入並創建文檔記錄並上傳文件。

此時,需要將它們帶到儀表板,該儀表板告訴他們正在轉換文檔。 他們可能會注銷並稍后再回來。

轉換文檔后,將允許它們繼續進行下一步以查看文檔。

我可以輕松地創建具有這些狀態的工作流,並根據文檔記錄中的標志進行所有狀態的檢查和設置。

我想念的是,如果用戶注銷並返回,我如何獲取該上載文檔的工作流程並檢查其在工作流程中的狀態?

我只有這個

WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(WorkflowProject1.Workflow1), parms);

instance.Start();

參數是文檔ID。 當我回到應用程序中時,如何獲取該文檔的工作流實例並檢查它的當前步驟?

到簡單的WWF樣本/示例站點的任何鏈接將不勝感激。

實際上是否有更好的方法?

此外,一旦加載了工作流程,該如何檢查其當前步驟或活動?

一種方法可以如本文所述: http : //ajdotnet.wordpress.com/2007/09/30/workflow-instance-state-management/

本質上,您將工作流狀態保存到數據庫表中(持久性由工作流管理),然后Web應用程序直接從數據庫讀取狀態。 我實際上更喜歡這種簡單的方法,因為狀態信息在工作流實例外部可用。

另一種方法可能是使用諸如SqlWorkflowPersistenceService之類的持久性服務將工作流狀態持久化到數據庫中。 持久性由持久性服務管理,工作流忽略了這一事實。 您已使用工作流實例的Load方法獲取已加載狀態(並已卸載以進行保存)。 但是,調用這些方法的所有膠合邏輯都位於aspx頁面中。 我的方法問題是,您需要執行同步邏輯(如果需要),並且要讀取狀態信息,必須將其加載到工作流實例中。

暫無
暫無

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

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