WF4.0:从XAML中加载工作流

本文介绍如何在Windows Workflow Foundation 4中通过XAML文件动态加载和执行工作流。这种方式提供了更大的灵活性,允许在运行时改变工作流定义或从数据库加载。文章展示了如何使用ActivityXamlServices类及XamlXmlReaderSettings进行配置。

 大多数时候,我在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://www.cnblogs.com/zhuqil/archive/2010/03/09/loading-xaml-workflows-in-wf4.html,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值