中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Visual Studio 2010中WF 4.0怎么用

發布時間:2021-12-27 09:58:15 來源:億速云 閱讀:156 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關Visual Studio 2010中WF 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中實現了工作流設計器的基本模型,可以很容易的實現自定義設計器。

關于“Visual Studio 2010中WF 4.0怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乾安县| 定远县| 赤壁市| 邵武市| 安康市| 新闻| 家居| 昌江| 凤翔县| 包头市| 陇南市| 桦甸市| 武宣县| 礼泉县| 江达县| 岐山县| 灵台县| 鄂伦春自治旗| 丹巴县| 新建县| 宜良县| 错那县| 江津市| 东安县| 渑池县| 张北县| 潼关县| 自治县| 宾川县| 绥德县| 平乐县| 库车县| 丹寨县| 沾化县| 正宁县| 汝南县| 星座| 娄底市| 阳山县| 高雄市| 广饶县|