以前咱們講述了控制流與WF4.0的基礎。下面咱們來看看如何使用控制檯的形式來使用WF4.0、好比咱們有時候不能經過設計器來設計工做流時,如何經過代碼html
的方式,來構建WF4.0應用程序,可能這就會爲咱們自定義工做流設計器等方面提供幫助。下面咱們就開始吧。函數
WorkFlow是最近比較流行的一門技術,其實WF起源於20世紀70年代中期的辦公化自動領域,自1993年8月,WFMC(工做流管理聯盟)成立,1994年制定了一網站
系列的關於工做流的標準。進入21世紀工做流被愈來愈多的學者關注,該項技術愈加走向成熟。固然我也是必須跟上時代的步伐,因此也加入工做流的大軍,但願能spa
夠跟上前人的腳步。固然也但願感興趣的朋友,加入工做流的討論羣中來。具體羣號:120661978。.net
目前,咱們已經在AgileEAS.平臺中陸續集成了,界面設計器+工做流的內容,固然工做流目前還不算太成熟,還不方便放出來,本文只是拋磚引玉,還但願設計
你們多多重視工做流的內容。3d
1、開篇orm
2、摘要htm
3、WF4.0的控制檯程序blog
以前的幾篇文章,咱們已經把WF中的基礎控制流信息差很少說完了,關於具體的應用咱們後面會說明,更多內容請查看上篇《
WorkFlow入門Step.5—Adding Procedural Elements-For-WF4.0-(後續)
》
下面咱們就來看看如何經過代碼的形式來建立工做流流程,達到與設計器一樣的目標。
一、新建一個Winform控制檯應用程序。
二、添加程序集引用「system.Activities」:
三、在Main函數中添加以下代碼:
四、修改上方的「CreateWorkFlow方法」:
五、運行上述程序,查看運行結果。
下面咱們來在該代碼構建一個帶有IF控制流的活動吧,看看是如何構建的。
一、在上面的基礎上,咱們來新修改上述「CreateWorkFlow方法的內容」:
private static System.Activities.Activity CreateWorkFlow()
{
//建立新的工做流活動
Variable<DateTime> nows = new Variable<DateTime>()
{
Name = "DateTime",
Default = DateTime.Now
};return new Sequence()
{
DisplayName = "test",
Activities=
{
new WriteLine()
{
DisplayName="Write1",
Text="Hello World!"
}
}
};
}上面是以前的輸出HelloWord的不帶複雜的條件的簡單輸出的節點,咱們將上述的代碼修改以下:
先定義一個該順序控制流範圍內的變量「Contion1」條件變量,做爲IF條件的斷定
Variable<int> contion1 = new Variable<int>()
{
Name = "int1",
Default = 1
};返回一個順序控制流
return new Sequence()
{
Variables=
{
contion1
},
DisplayName = "test",
Activities =
{
//輸出工做流執行的開始日期
new WriteLine()
{
DisplayName="Write1",
Text=System.DateTime.Now.ToString()
},new If()
{
DisplayName="test2", Condition=ExpressionServices.Convert<bool>(env=>contion1.Get(env)>0),
Then=new WriteLine(){
DisplayName="Then",
Text="Then"
},Else=new WriteLine(){
DisplayName="Else",
Text="Else"
}
},
//輸出工做流執行的完成日期
new WriteLine()
{
DisplayName="Write2",
Text=System.DateTime.Now.ToString()
}
}
};二、咱們來解釋下上面的定義說明信息:
三、其餘內容:
四、運行後,查看結果以下:
五、IF條件中的寫法與Condition的解析,咱們這裏來簡單的說明下:、
基於上面的形式,咱們可以寫出全部咱們基於設計器來完成的代碼,固然掌握這樣的控制檯的形式,對咱們結合一些相關開發平臺或者業務代碼的時候,
更方便和容易,可能給予控制檯的方式,會感受比較的難以書寫。
例如咱們在上面的基礎上,在then中完成賦值操做。
咱們在then中對變量contion1賦值爲2。
並打印出來。
一、修改上述的Sequece中的代碼:
上面就完成了,IF活動內部的過程的修改。
二、運行後,查看運行的效果:
若是您在使用AgileEAS.NET開發平臺中有什麼問題,請使用以下幾種聯繫方式或者溝通方式。
一、郵箱方式:
魏瓊東: mail.james@qq.com 手機:18629261335 博客:http://eastjade.cnblogs.com/
殷長波:549558408@qq.com 博客: http://www.cnblogs.com/onmyway/
何戈洲:hegezhou_hot@163.com 博客:http://www.cnblogs.com/hegezhou_hot/
二、QQ交流羣:
AgileEAS.NET平臺交流羣:120661978(超級羣)[新建]