《WF编程》系列之3 - 漫游工作流:Visual Studio 2005 扩展
《WF編程》系列之3 - 漫游工作流:Visual Studio 2005 擴展
1.2.2 Visual Studio 2005 擴展
Microsoft提供了一個Visual Studio 2005 的工作流擴展(Microsoft Visual Studio 2005 Extensions for Windows Workflow)其中包含用于構(gòu)建工作流的可視化設(shè)計器.
?
活動排列在工具箱里,可以拖拽到設(shè)計器中.我們還可以往工具箱里添加自定義活動.當(dāng)選中設(shè)計器中的活動后,屬性面板就會列出這個活動的屬性和事件供我們配置.
?
1.2.2.1 Windows Workflow 和 XAML
WF設(shè)計器可以生成描述工作流的C#和Visual Basic代碼,還可以讀寫XAML(可擴展應(yīng)用程序標(biāo)記,eXtensible Application Markuptensible Application Markup).XAML文件是有效的XML文件,它將定義性編程模型(declarative programming model)引入到Windows Worklow中.下面是設(shè)計器生成的XAML:
<SequentialWorkflowActivity???xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"?
??xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow"?
??x:Class="HelloWorld.HellowWorldWorkflow"?>
??<CodeActivity?
????x:Name="codeActivity1"?
????ExecuteCode="codeActivity1_ExecuteCode_1"?/>?
</SequentialWorkflowActivity>
這個XAML描述的工作流很簡單,它只包括一個活動- CodeActivity,工作流引擎執(zhí)行CodeActivity時CodeActivity會調(diào)用ExecuteCode屬性指定的方法codeActivity1_ExecuteCode_1.
要知道,XAML并不只用于Windows Workflow.它同樣出現(xiàn)在Windows Presentation Foundation (WPF).在WPF中, XAML用來構(gòu)建富用戶界面(不只是button和label等傳統(tǒng)控件的組合,還包括動畫效果和數(shù)據(jù)模板等).
XAML的一個重要能力是可以聯(lián)合分部類中的代碼.分部類是.NET 2.0中VB和C#的新功能,它允許類定義在多個文件中.上邊的XAML會被轉(zhuǎn)換成一個名為HelloWorldWorkflow的分布類.我們可以通過XAML根節(jié)點中的x:Name屬性控制類的名稱.如果想在這個類中添加成員,也可以定義一個同名的類,并用partial關(guān)鍵詞修飾類名.
?
public?partial?class?HelloWorldWorkflow:SequentialWorkflowActivity????{
????????private?void?codeActivity1_ExecuteCode_1(object?sender,EventArgs?e)
????????{
????????????//??
????????}
????}
在上面的代碼中,我們把codeActivity1_ExecuteCode_1方法添加到與XAML生成的類相同的類(HelloWorldWorkflow)中.
1.2.2.2 WF 驗證和調(diào)試
工作流設(shè)計器的另外一個工作是提供針對活動的驗證機制.每個活動都可以定義其設(shè)計時和運行時的驗證.設(shè)計器將為拋出驗證錯誤的活動標(biāo)記一個紅色的驚嘆號.例如, CodeActivity會一直顯示紅色驚嘆號,直到我們設(shè)置了ExecuteCode屬性(因為沒有設(shè)置ExecuteCode屬性的 CodeActivity是沒有用的).
設(shè)計器還提供調(diào)試功能.我們可以在設(shè)計器中的活動上設(shè)置斷點.當(dāng)停止執(zhí)行時,我們可以通過
調(diào)用堆棧(Call Stack)面板查看看工作流中之前執(zhí)行的活動.
調(diào)試器支持步進(Step In), 步出(Step Out)和逐過程(Step Over)等命令.例如,Step In命令將轉(zhuǎn)移到復(fù)合活動的第一個子活動,Step Over將跳過整個復(fù)合活動轉(zhuǎn)移到下一個活動.
1.2.2.3 設(shè)計器外觀
我們可以通過主題來定制工作流設(shè)計器的設(shè)計外觀,主題定義了設(shè)計器的背景色,字體,線條和邊框樣式.我們可以為特定的活動指定顏色和邊框樣式.通過Visual Studio,我們可以創(chuàng)建新的主題,也可以修改存在的主題.
可以定制樣式的功能并不只是為了設(shè)計器在Visual Studio中更加美觀,WF設(shè)計器是一個組件,可以將其托管在我們的應(yīng)用程序內(nèi)部.托管設(shè)計器是個不錯的創(chuàng)意,我們可以提供一些容易被商業(yè)人員理解的自定義活動(如SendOrderToKitchen),并讓他們自己設(shè)計工作流.
轉(zhuǎn)載于:https://www.cnblogs.com/andylaufzf/archive/2008/08/27/1277493.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的《WF编程》系列之3 - 漫游工作流:Visual Studio 2005 扩展的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle常用函数详解
- 下一篇: 函数04 - 零基础入门学习C语言35