<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      毛毛的小窩 — 關注技術交流、讓我們一起成長

      導航

      WF學習系列之四:順序工作流控制臺應用程序模板介紹

      簡介

      WF兼有很多角色,如編程模型、運行時引擎以及工具集等,它使我們很容易創建基于工作流的應用。這里主要分析一下VS2008下順序工作流控制臺應用程序的模板,并了解幾個常見的活動。

      順序工作流控制臺應用程序模板

      WF提供兩種類型的工作流:順序工作流、狀態機工作流。這兩個工作流分別從SequentialWorkflowActivity, StateMachineWorkflowActivity派生而來。VS2008提供了順序工作流控制臺應用程序和類庫兩種模板,本文主要介紹順序工作流控制臺應用程序模板。

      創建工作流項目

      具體步驟省略,詳細請參見參考文獻所示。查看生成的工作流代碼如下:

       

      Code

      很容易看出,新建的工作流Workflow1是從SequentialWorkflowActivity派生。

      新建的工作流只有起始點,沒有任何活動。這里我們添加一個Code activity。添加了這個活動后,我們發現,這個活動出現了錯誤,是因為ExecuteCode沒有設定,這里只需雙擊Code activity即可,并在代碼文件中添加Console.WriteLine("Hello, World!");。一個Hello, World!工作流就這樣完成了。

      解析工作流調用代碼(宿主程序代碼)

             

      Code

      注意:

      1. 通過WorkflowRuntime類為工作流初始化提供可配置的運行環境

      2. 通過AutoResetEvent類,協調主線程和工作流線程。

      3. 通過WorkflowInstance類創建工作流實例。

      創建一個比Hello, World更高級的工作流

      作業:創建一個工作流,使之支持一個文件加中的所有文件拷貝到另外一個文件夾。

      思路:

      1.創建一個代碼活動,解析從宿主程序傳來的源文件夾和目的文件夾;

      2.創建一個循環活動(一個個拷貝,直到所有文件拷貝完畢)

              在循環活動中嵌入代碼活動,完成單個文件的拷貝

      這里需要解釋幾個問題:

      循環活動條件設置

      while activity活動中,規則采用聲明性規則條件,當前是第幾個文件 < 總共幾個文件。在后臺生成如下文件workflow.rules:

       

      Code

       

      在后臺,通過

      System.Workflow.Activities.Rules.RuleConditionReference ruleconditionreference1 = new System.Workflow.Activities.Rules.RuleConditionReference();

      ruleconditionreference1.ConditionName = "條件1";

      this.whileActivity1.Condition = ruleconditionreference1;

      進行加載到循環活動中。

      宿主程序和工作流的通訊

      如何向工作流中傳遞參數:

      在工作流中定義成員變量:

      public string toFolder { get; set; }

      public string fromFolder { get; set; }

      public int totalFiles { get; set; }

       

      在宿主程序初始化工作流實例的時候,將參數傳入

      var parameters = new Dictionary<string, object>();

      parameters.Add("fromFolder", @"K:"test");

      parameters.Add("toFolder", @"K:"backup");

      WorkflowInstance instance =

          workflowRuntime.CreateWorkflow(

              typeof(WorkflowDemo1.Workflow1), parameters);

      如何從工作流中獲取參數:

      WorkflowCompletedEventArgs e 中,即可獲取工作流中的相關信息,如:e.OutputParameters["totalFiles"]

      參考文獻

      本翻譯沒有按照原文,詳細請查閱

      http://social.msdn.microsoft.com/content/en-us/msft/netframework/wf/learn/Intro-SequentialWorkflows

      posted on 2008-12-10 21:58  mjgforever  閱讀(2025)  評論(3)    收藏  舉報

      主站蜘蛛池模板: 精品无码成人片一区二区| 亚洲欧美中文字幕日韩一区二区| 人妻夜夜爽天天爽三区丁香花| 国产suv精品一区二区33| 中文字幕无码av不卡一区| 亚洲成人av一区免费看| 久久精品国产亚洲av麻豆小说| 亚洲精品宾馆在线精品酒店| 女人与牲口性恔配视频免费 | 国产精品先锋资源站先锋影院| 一本色道久久东京热| 日韩精品国内国产一区二| 免费a级黄毛片| 强奷乱码中文字幕| 亚洲欧美日韩精品久久亚洲区| 亚洲av无码精品色午夜蛋壳| 放荡的少妇2欧美版| 亚洲中文字幕亚洲中文精| 92精品国产自产在线观看481页| 屏东市| 日本无遮挡真人祼交视频| 丰满的少妇一区二区三区| 视频一区视频二区在线视频| 国产精品美女久久久久久麻豆 | 天天综合色天天综合色h| 无码人妻丰满熟妇区五十路在线| 成人无码午夜在线观看| 马鞍山市| 国产69精品久久久久乱码免费| 亚洲AV成人无码精品电影在线 | 久久亚洲av成人无码软件| 国产自在自线午夜精品| 亚洲中文字幕久久精品品| 国产精品中出一区二区三区 | 老鸭窝在线视频| 无码国内精品久久人妻蜜桃 | 婷婷开心色四房播播| 成年无码av片在线蜜芽| 精品国产一区二区三区久| 国产日韩精品视频无码| 亚洲老熟女一区二区三区|