工作流服務中,經常會在主流程啟用一些子流程。我在審批流程中經常會使用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...