簡體   English   中英

在Workflow Foundation 4.5中的持久性

[英]Persistence in Workflow Foundation 4.5

如何在ASP.NET MVC 5應用程序中使用持久性工作流實例? (諸如訪問ViewBag或選擇View或AJAXing之類的想法)。

注意:我嘗試了兩本書(充滿了代碼示例的錯誤,導致無法正常工作;因此在幾章之后就放棄了)和十二本在線資料(博客文章等),但我對這本WF的知識並不滿意事情。 當然,不采用持久性就容易得多。 但是那有什么好處?

所以我想我缺少了必不可少的部分或整個畫面。

我們已經構建了工作流服務,該服務公開了與MVC應用程序交談的WCF終結點/合同。 服務合同上的幾乎每個操作都映射到特定的MVC小部件。 當我說小部件時,我指的是某種形式的局部視圖,只有當特定服務操作在狀態機的特定狀態下可用時才可見。

即“接受”服務/小工具僅在進程處於“已提交”狀態時可用。 進程被構建為可以長時間運行,這意味着持久性與計時器等一起使用,但是所有這些都要求我們使用AppFabric與IIS的集成。

這就是開箱即用的。 問題在於如何檢測工作流程的狀態以及如何轉換為其他狀態,這將決定UI上的可用小部件。

為此,我們必須構建自定義邏輯。

當持久化工作流時,在為持久性生成的默認表中,您可以找到有關可用書簽的信息。 如果服務調用可以觸發狀態轉換,則書簽具有服務/操作名稱。

因此,我們針對特定的工作流實例構建了自定義的探測服務,該服務將掃描持久性表並將書簽列表返回給MVC應用。

基於此,MVC應用程序將呈現可用的小部件。

使用小部件后,將對Workflow Service進行服務調用,更改狀態,保留實例,將新的書簽存儲到持久性表中,然后我們基於這些刷新UI。

它是完全自定義的,但是如果沒有手動表掃描,我將找不到如何執行此操作的任何正確答案。

暫無
暫無

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

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