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

 

    大多数时候,我在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



(全文完)


以下为广告部分

您部署的HTTPS网站安全吗?

如果您想看下您的网站HTTPS部署的是否安全,花1分钟时间来 myssl.com 检测以下吧。让您的HTTPS网站变得更安全!

SSL检测评估

快速了解HTTPS网站安全情况。

安全评级(A+、A、A-...)、行业合规检测、证书信息查看、证书链信息以及补完、服务器套件信息、证书兼容性检测等。

SSL证书工具

安装部署SSL证书变得更方便。

SSL证书内容查看、SSL证书格式转换、CSR在线生成、SSL私钥加解密、CAA检测等。

SSL漏洞检测

让服务器远离SSL证书漏洞侵扰

TLS ROBOT漏洞检测、心血漏洞检测、FREAK Attack漏洞检测、SSL Poodle漏洞检测、CCS注入漏洞检测。

posted @ 2010-03-09 12:53  麒麟  阅读(3834)  评论(7编辑  收藏  举报