您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(guān)Visual Studio 2010中WF 4.0怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
最近在虛擬機中安裝了Visual Studio 2010。界面是WPF的,CPU和內(nèi)存占用不是很夸張,打開一個很簡單的附帶的Lab Project, CPU使用率一般在20%一下,內(nèi)存使用不到800M。
言歸正傳,還是來介紹Windows Workflow 4.0。
與3.5相比工作流模型有了很大改變和不同。
我們知道3.5中工作流都是托管在WorkflowRuntime中的,通過WorkflowRuntime來創(chuàng)建、執(zhí)行工作流實例;在4.0中沒有WorkflowRuntime類,可以方便的直接創(chuàng)建WorkflowInstance實例和執(zhí)行工作流。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類,這個類也可以執(zhí)行工作流,只不過這個類是用來測試工作流的,這很大的改進了前一版本中工作流難以測試的問題。
[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是所有活動的基類,要實現(xiàn)自定義活動,只需重寫Activity 的Execute()方法;在4.0中所有的活動都是從抽象類WorkflowElement派生出來的,而且Visual Studio中默認自定義活動都是從CodeActivity或CodeActivity<T>繼承的,相似的是也需要重寫Execute()方法,從而實現(xiàn)自定義執(zhí)行邏輯。
public class MyActivity1 : CodeActivity { protected override void Execute(CodeActivityContext context) { //你的實現(xiàn)代碼 } }
當然,你還是可以從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中新增加的工作流服務(wù)功能,可以直接把工作流發(fā)布為WCF服務(wù),當然工作流也必須設(shè)計為具有WCF應(yīng)答功能才行。4.0提供4個與WCF相關(guān)的活動:Receive、ReceiveReply、Send、SendReply,通過這些活動可以可視化定義WCF的服務(wù)操作。
4.0中實現(xiàn)了工作流設(shè)計器的基本模型,可以很容易的實現(xiàn)自定義設(shè)計器。
關(guān)于“Visual Studio 2010中WF 4.0怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。