我有一個客戶端誰的興趣使用Windows Workflow Foundation(WF)技術在網絡驅動的應用程序。我是一名.NET開發人員,但我對WF或SharePoint工作流程沒有經驗。客戶想要做的大部分工作似乎很簡單,只是他們希望最終用戶能夠創建/編輯他們自己的定製工作流程。在我對WF的簡短研究中,似乎並不是典型的情況。允許用戶自己創建工作流是否可行,還是應該是一個自定義的ASP.NET MVC應用程序或者SharePoint應用程序?Windows工作流動態,用戶創建的工作流程
4
A
回答
4
用戶能夠改變工作流程應該是WF的重點之一。然而,在WF 3中,整個模型非常適用於代碼生成而不是標記,因此很難做到。並非不可能,因爲您可以使用純標記工作流程,但很難。
隨着WF 4的故事應該是更好的,因爲所有的工作流程都是純標記並沒有在所有涉及的代碼。所有代碼都在預定義的活動中進行編譯,用戶可以根據需要更改工作流程。此外,WF設計人員更容易在您的應用程序中重新放置。
PS SharePoint工作流是WF 3點的工作流程,即使在新的SharePoint版本,和WF 4是任何股無碼一個全新的產品。
2
您可能想建立一個狀態機,可以接受來自用戶的觸發器。 Nicholas Blumhardt擁有一款名爲stateless的非常棒的輕量級狀態機實現。您可以創建一個狀態機用一個簡單的聲明:
var stateMachine = new StateMachine<TState, TTrigger>();
從項目選址:
var phoneCall = new StateMachine<State, Trigger>(State.OffHook);
phoneCall.Configure(State.OffHook)
.Permit(Trigger.CallDialed, State.Ringing);
phoneCall.Configure(State.Ringing)
.Permit(Trigger.HungUp, State.OffHook)
.Permit(Trigger.CallConnected, State.Connected);
phoneCall.Configure(State.Connected)
.OnEntry(() => StartCallTimer())
.OnExit(() => StopCallTimer())
.Permit(Trigger.LeftMessage, State.OffHook)
.Permit(Trigger.HungUp, State.OffHook)
.Permit(Trigger.PlacedOnHold, State.OnHold);
// ...
phoneCall.Fire(Trigger.CallDialled);
Assert.AreEqual(State.Ringing, phoneCall.State);
正如你所看到的代碼是非常簡單的。您可以使用單個項目完成所需的一切。
由於國家和觸發可以是任何類型的,則可以從數據庫中,也許步驟工作臺進給狀態機,並允許批准= 1的觸發器,拒絕= 2。您可以提前爲用戶創建一系列步驟,並允許他們通過呈現一個步驟來選擇觸發器,然後根據他們選擇的觸發器分配下一個步驟。
1
我會小心之前,WF要檢查出來的東西(任何版本包括4.0)的向後兼容性/版本,特別是如果你將有長時間運行的工作流程。
一旦工作流程實例「正在運行」,對組件(代碼活動)進行更改可能很困難。有幾種處理這個問題的版本管理方法,但您可能會發現這兩種方法在實際中都不是真實的。
相關問題
- 1. 動態創建WCF工作流程(xamlx)
- 2. 創建動態工作流程
- 3. 從狀態工作流程內啓動順序工作流程
- 4. 適用於在基於Web的應用程序中創建動態工作流程的工作流程嗎?
- 5. Windows工作流:開始從工作流
- 6. Windows工作流程:用於爲網站用戶定義工作流程
- 7. 使用Windows工作流控制用戶界面中的流程
- 8. Windows工作流程:「singleton」式工作流程?
- 9. 使用liferay創建工作流程
- 10. 啓動多個工作流程的單一工作流程
- 11. CouchDB:創建文檔的工作流程?
- 12. iOS中的動態ax工作流程
- 13. Windows工作流 - PersistableIdle
- 14. Windows工作流 - TerminateActivity導致工作流程出錯?
- 15. 帶VS2012工作流程的TFS2010工作流程構建流程模板
- 16. 創建用於動態調用工作流的自定義channefactory
- 17. 從工作流程動態創建Sharepoint 2007子網站
- 18. 創建並行工作流活動
- 19. 用於創建用戶的REST會話工作流程
- 20. 使用Windows Workflow Foundation的多個工作流程實例工作流程
- 21. 創建SharePoint IF功能工作流程
- 22. Java - 在Quartz中創建工作流程
- 23. 創建自定義EPiServer工作流程
- 24. 如何創建順序工作流程?
- 25. Git工作流程建議
- 26. Mercurial工作流程建議
- 27. Odoo工作流程 - 如何隱藏/顯示工作流程階段動態
- 28. 工作流自定義活動構建工作流參數
- 29. 創建WWF工作流動態地使用XAML + X:名稱不工作
- 30. 允許用戶創建自己的工作流程場景
SharePoint工作流程_are_ WF工作流程。 –
SharePoint工作流程是準確的WF 3工作流程。 – Maurice