程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> WF4.0:從XAML中加載工作流

WF4.0:從XAML中加載工作流

編輯:關於.NET

大多數時候,我在Windows Workflow Foundation 4編譯工作流時,它非常簡單和方便,先設計工作流 ,然後編譯,在運行時就會有一個用於創建和運行工作流的.NET類型。主要缺點是,這種方法不是很靈活 ,有時你希望能夠在運行時改變您的工作流的定義或者將它存儲在數據庫中,重新編譯是不可取的。

幸運的是,我們還可以從XAML文件本身加載工作流和執行返回的工作流活動。使用 ActivityXamlServices類能做到這些,它將讓我們加載XAML文件並返回一個活動,確切地說,它返回一個 封裝好流程定義的DynamicActivity。

最簡單的方法就是傳遞一個文件名做參數調用Load() ,例如:

Activity workflow = ActivityXamlServices.Load("YourWorkflow.xaml");

如果您使用本地程序集中的活動或其他類型,這是要失敗的,但你可以用稍微詳細方式去實現,例如 :

var settings = new XamlXmlReaderSettings() { LocalAssembly = typeo (SendForManualApproval).Assembly };
var reader = new XamlXmlReader("YourWorkflow.xaml", settings);
Activity workflow = ActivityXamlServices.Load(reader);

需要使用XamlXmlReaderSettings來說明XAML需要引用那些本地的程序集。

備注:這篇文章的使用環境是.NET framework 4.0 RC 1

原文:http://msmvps.com/blogs/theproblemsolver/archive/2010/03/07/loading-xaml-workflows -in-wf4.aspx

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved