第一個C#工做流

打開vs2010,選擇新建項目html

第一個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("結束了");
}
上面的」結束了「只能等到工做流結束或者中斷後才能執行。
相關文章
相關標籤/搜索