WF4 0中實現子流程

2022-01-31 04:24:53 字數 2818 閱讀 6089

工作流服務中,經常會在主流程啟用一些子流程。我在審批流程中經常會使用bookmark來暫停流程,這篇文章,將結合bookmark來實現主流程啟動子流程。

使用以前的一篇wf4.0自定義持久化

中的自定義的持久化。不過資料表中加入了乙個欄位parentid,用於標識父流程:

下面用乙個流程例項為例說明主流程是如何啟用子流程,子流程又是如何返回主流程的,主流程如下:

第乙個節點「第一站審核」和第三個節點「第二站審核」都是bookmark書籤,附bookmark的**如下:

**public

sealed

class

read

<

tresult

>

: nativeactivity

<

tresult

>

public

string

bookmarkname 

//define an activity input argument of type string

public

inargument

<

string

>

text 

//must return true for a nativeactivity that creates a bookmark

protected

override

bool

caninduceidle

}protected

override

void

execute(nativeactivitycontext context)

void

continue(nativeactivitycontext context, bookmark bookmark, 

object

obj)

第二個節點「啟用子流程」,它是乙個自定義的節點,**如下:

**public

sealed

class

callchild : activity

public

callchild()

public

activity createbody()

,new

read

<

string

>}};

}}注意上面的childcodeactivity類,實際上是在childcodeactivity中啟動子流程的,childcodeactivity後面是乙個書籤,用於暫停主流程。當子流程完成後,在子流程中恢復這個書籤,子流程結束,主流程繼續往下跑。這個活動中有乙個flowname屬性,用於表示是啟用哪個子流程。childcodeactivity**如下:

**sealed

class

childcodeactivity : codeactivity

//if your activity returns a value, derive from codeactivity

//and return the value from the execute method.

protected

override

void

execute(codeactivitycontext context)

}workflowrun.createandrun(flowname)根據flowname啟動相應的子流程,並得到例項的guid。並將子流程的parentid修改改成主流程的guid。

子流程的示例如下:

子流程的第乙個節點「子流程第一站審核」和第二個節點「子流程第二站審核」也都是bookmark書籤。

最後乙個節點是「結束」。這個節點也至關重要,因為我是使用這個節點,從子流程中返回到主流程的。因此,每個子流程都會有end節點,它的**如下:

**public

sealed

class

end : codeactivity

//if your activity returns a value, derive from codeactivity

//and return the value from the execute method.

protected

override

void

execute(codeactivitycontext context)}}

(全文完)

以下為廣告部分

如果您想看下您的**https部署的是否安全,花1分鐘時間來 myssl.com 檢測以下吧。讓您的https**變得更安全!

ssl檢測評估

快速了解https**安全情況。

安全評級(a+、a、a-...)、行業合規檢測、證書資訊檢視、證書鏈資訊以及補完、伺服器套件資訊、證書相容性檢測等。

ssl證書工具

安裝部署ssl證書變得更方便。

ssl漏洞檢測

讓伺服器遠離ssl證書漏洞侵擾

tls robot漏洞檢測、心血漏洞檢測、freak attack漏洞檢測、ssl poodle漏洞檢測、ccs注入漏洞檢測。

WF4 0 實戰 WF4 0申請審批例項

工作流 workflow 就是 業務過程的部分或整體在計算機應用環境下的自動化 它主要解決的是 使在多個參與者之間按照某種預定義的規則傳遞文件 資訊或任務的過程自動進行,從而實現某個預期的業務目標,或者促使此目標的實現 一句話 工作流就是一系列相互銜接 自動進行的業務活動。再通俗點就是對於乙個業務需...

WF4 0 學習系列

wf4.0 基礎篇 一 開始使用wf wf4.0 基礎篇 二 activity介紹及writeline activity的使用 wf4.0 基礎篇 四 順序容器sequence 與codeactivity wf4.0 基礎篇 五 資料的傳遞 variable變數 wf4.0 基礎篇 六 資料的傳遞 ...

WF4 0實戰系列索引

wf4.0實戰 二 超市收銀軟體 wf4.0實戰 三 wcf服務 wf4.0實戰 五 實現乙個直觀易擴充套件的自動測試框架 wf4.0實戰 六 控制wpf動畫 wf4.0實戰 七 請假流程 帶駁回操作 wf4.0實戰 八 實現一套圖形化的資料訪問層 wf4.0實戰 九 猜數字遊戲,測下你的智力 wf...