麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

詳解 VS 2010中WF 4.0的應用

2019-11-17 03:49:30
字體:
來源:轉載
供稿:網友

本文將為大家介紹的Windows Workflow 4.0在Visual Studio 2010中的相關應用,希望簡短的文章能為大家搞好Workflow 4.0開發有所幫助。

最近在虛擬機中安裝了Visual Studio 2010。界面是WPF的,CPU和內存占用不是很夸張,打開一個很簡單的附帶的Lab PRoject, CPU使用率一般在20%一下,內存使用不到800M。

言歸正傳,還是來介紹Windows Workflow 4.0。

與3.5相比工作流模型有了很大改變和不同。

我們知道3.5中工作流都是托管在WorkflowRuntime中的,通過WorkflowRuntime來創建、執行工作流實例;在4.0中沒有WorkflowRuntime類,可以方便的直接創建WorkflowInstance實例和執行工作流。Lab中代碼如下:


WorkflowInstance myInstance = new WorkflowInstance(new SayHello(),  
                 new SayHelloInArgs(userName));  
             myInstance.OnCompleted = delegate(WorkflowCompletedEventArgs e)  
             {  
                 Console.WriteLine("*** OnCompleted delegate is running on thread {0} ***",  
                     Thread.CurrentThread.ManagedThreadId);  
                 SayHelloOutArgs outArgs = new SayHelloOutArgs(e.Outputs);  
                 greeting = outArgs.Greeting;  
                 syncEvent.Set();  
             };  
             myInstance.OnUnhandledException = delegate(WorkflowUnhandledExceptionEventArgs e)  
             {  
                 Console.WriteLine(e.UnhandledException.ToString());  
                 return UnhandledExceptionAction.Terminate;  
             };  
             myInstance.OnAborted = delegate(WorkflowAbortedEventArgs e)  
             {  
                 Console.WriteLine(e.Reason);  
                 syncEvent.Set();  
             };  
             myInstance.Run();
4.0中有一個WorkflowInvoker類,這個類也可以執行工作流,只不過這個類是用來測試工作流的,這很大的改進了前一版本中工作流難以測試的問題。

[TestMethod]  
       public void ShouldReturnGreetingWithName()  
       {  
           Dictionary<string, object> input = new Dictionary
<string, object>()  
           {  
               {"UserName", "Test"}  
           };  
           IDictionary<string, object> output;  
           output = WorkflowInvoker.Invoke(new SayHello(), input);  
           Assert.AreEqual("Hello, Test from Workflow 4", output["Greeting"]);  
       }
3.5中Activity是所有活動的基類,要實現自定義活動,只需重寫Activity 的Execute()方法;在4.0中所有的活動都是從抽象類WorkflowElement派生出來的,而且Visual Studio中默認自定義活動都是從CodeActivity或CodeActivity<T>繼承的,相似的是也需要重寫Execute()方法,從而實現自定義執行邏輯。

public class MyActivity1 : CodeActivity  
  {  
      protected override void Execute(CodeActivityContext context)  
      {  
          //你的實現代碼  
      }  
  }
當然,你還是可以從Activity派生自定義活動,不過與3.5有很大不同。

public class SayHelloInCode : Activity  
   {  
       protected override WorkflowElement CreateBody()  
       {  
           return new Sequence()  
           {  
               Activities =  
               {  
                   new WriteLine()  
                   {  
                       Text = "Hello Workflow 4 in code" 
                   }  
               }  
           };  
       }  
   }
4.0中新增加的工作流服務功能,可以直接把工作流發布為WCF服務,當然工作流也必須設計為具有WCF應答功能才行。4.0提供4個與WCF相關的活動:Receive、ReceiveReply、Send、SendReply,通過這些活動可以可視化定義WCF的服務操作。

4.0中實現了工作流設計器的基本模型,可以很容易的實現自定義設計器。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品av久久久久久久久久 | av免费不卡国产观看 | 成人毛片视频在线播放 | 中文字幕网在线 | 激情大乳女做爰办公室韩国 | 免费在线观看国产精品 | 成人三级在线播放 | 国产一国产一级毛片视频 | 91久久久久 | 一级成人欧美一区在线观看 | 日本黄色大片免费 | 在线观看免费精品 | 欧美性受xxxx人人本视频 | 免费观看国产精品视频 | av性色全交蜜桃成熟时 | lutube成人福利在线观看 | 青青草华人在线 | 国产成人精品区 | 欧洲a级片| 精品国产91一区二区三区 | 黄色影院在线观看视频 | 亚洲91网| 欧美色视频免费 | 国产91一区| 免费一级欧美大片视频 | 亚洲第一成人在线视频 | 久草视频中文 | 免费观看一区二区三区 | 国产精品久久久久久影院8一贰佰 | 国产精品视频在 | 快播av在线 | 91久久夜色精品国产网站 | 爱性久久久久久久 | 中国杭州少妇xxxx做受 | 欧美精品一级片 | 操操操日日日干干干 | 国产成人在线播放视频 | 日韩一级免费毛片 | 黄网站在线免费看 | 精品亚洲成a人在线观看 | 在线看免电影网站 |