[英]Loading a Workflow Instance
假設我有一個Web應用程序,並且需要在一頁中上傳文檔。 然后將文檔轉換為其他文檔,然后用戶可以看到轉換后的文檔。
我想要一個具有4種狀態的工作流程。
因此,現在用戶進入並創建文檔記錄並上傳文件。
此時,需要將它們帶到儀表板,該儀表板告訴他們正在轉換文檔。 他們可能會注銷並稍后再回來。
轉換文檔后,將允許它們繼續進行下一步以查看文檔。
我可以輕松地創建具有這些狀態的工作流,並根據文檔記錄中的標志進行所有狀態的檢查和設置。
我想念的是,如果用戶注銷並返回,我如何獲取該上載文檔的工作流程並檢查其在工作流程中的狀態?
我只有這個
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.