一步一步學WF系列(一)——Hello world開始

作者: 飛林沙  來源: 博客園  發布時間: 2009-04-10 10:06  閱讀: 1612 次  推薦: 0   原文鏈接   [收藏]  
 
摘要:WF
[1] 一步一步學WF系列(一)——Hello world開始
[2] 一步一步學WF系列(一)——Hello world開始

  1. 什么是工作流

  我給工作流下了這樣的定義,工作流就是一個過程,這個過程會產生一定的結果。

其實,在OA系統中,審批流就是我們最常見的工作流之一。

  另外,簡單了說,其實我們所畫的流程圖就是一種最簡單的工作流,工作流最大的特點就是圖形化。工作流是按照順序驅動或者事件驅動去觸發下一步操作,從而最終得到一個結果。

  其實,我們也可以把他理解為一個過程化的職責鏈。

  2. 工作流的類型

  工作流大致分為兩類,順序工作流和事件驅動工作流。

  順序工作流是我們很常見的工作流,這個工作流是由我們事先規定好的順序一步步地走下去,他們執行的步驟是不可以改變的。

  事件驅動工作流,我們也稱之為有限狀態機,他狀態的變更是猶由于特定的事件而觸發的。

  舉例如下:

  順序工作流:審批流其實就是典型的順序工作流,一個審批對象一步步地層層審批,拿一次面試過程來說,首先人事部簡歷篩選,然后是技術經理面試,然后是總經理面試,這都是按照流程來的。

image

  事件驅動工作流:想想我們的軟件工程流程,是不是這樣的:

image

  3. 第一個實例:Hello world

  學任何程序,第一個例子往往都是Hello world,這次也不例外。

  讓我們先來構建一個簡單的WF小程序。

  我所使用的環境是Visual Studio 2008 + .NET Framework 3.5 sp1來搭建項目:

  首先讓我們來熟悉環境:

  打開VS2008,選擇新建——> 項目:

image

  然后選擇Workflow——>順序工作流控制臺應用程序。然后點擊確定就進入了我們的WF項目中。

image

  在項目中,我們可以看到Program.cs和Workflow1.cs。Workflow1我不多說,這個當然是我們的工作流程序。

  那來看一下Program.cs:

  4. 宿主

  Windows workflow foundation不是一個獨立的產品,他需要在一個宿主的環境下才能運行。

  這個宿主可以是控制臺應用程序,Winform程序,也可以是ASP.NET程序。

  WF的運行是通過工作流的運行時引擎來實現的。實際上,工作流運行時引擎和宿主的應用程序在同一進程中。

  5. 繼續Hello world

  在工具箱中,拖出一個Code控件。

image

  然后為codeActivity1起一個有意義的Name為codeActivityHello。

  然后去實現ExcuteCode事件,實現這個事件,運行庫將自動調用這個方法。

  實現如下:

private void codeActivityHello_ExecuteCode(object sender, EventArgs e)
{
    Console.WriteLine("Hello world");
}

  好了,讓我們運行這段程序:

image

[第1頁][第2頁]
0
0
 
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()