第一個C#工作流


打開vs2010,選擇新建項目

第一個C#工作流

新建項目后看到的是初始的工作流程圖,下面顯示設計器中除了一個提醒你放置活動的信息外什么也沒有。在這個簡單的測試工作流中,打開vs2010的工具箱,找到基元(Primitives)
第一個C#工作流

找到工具箱的基元(Primitives),找到WriteLine將其拖拽到設計器中,並在Text編輯器中輸入用雙引號括起的字符串信息,如下圖:
第一個C#工作流
 查看 XAML,關閉工作流設計器,在Solution Explorer中點擊Wrokflow1.xaml並選擇View Code菜單選項,這將顯示工作流的XAML描述,這些XML的文檔根節點為<Activity>,我們可以看到幾乎所有定義都內嵌了clr-namespace標記。下圖為我們建立的工作流XAML文件,里面只有一個WriterLine方法的節點
第一個C#工作流
下面我們Ctrl+F5運行程序,如圖所示,顯示我們在Text內輸入的內容
第一個C#工作流

 
使用WorkflowInvoker承載工作流
打開Workflow項目中的Program.cs文件,可以看到Main方法:
static void Main(string[] args)
{
    WorkflowInvoker.Invoke(new Workflow1());
}
當你只想簡單的啟動工作流而不希望進步一監控,使用WorkflowInvoker是十分有用的,Invoke()方法將以 同步阻塞方式執行工作流。在整個工作流結束或突然中斷前,調用線程都將保持阻塞狀態,由於Invoke()方法是同步調用,這確保了整個工作流在Main()終止前能夠完成,事實上,在WorkflowInvoker.Invoke()方法之后添加的任何代碼,都將在工作流完成(或更糟的情況,突然終止等)之后才能執行
static void Main(string[] args)
{
    WorkflowInvoker.Invoke(new Workflow1());
     Console.WriteLine("結束了");
}
上面的”結束了“只能等到工作流結束或者中斷后才能執行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM