文章:Windows Workflow 中的 HandleExternalEvent Activity

阅读数:81 2008 年 4 月 24 日

话题:.NET语言 & 开发架构

Windows Workflow Foundation 为事件的处理提供了 HandleExternalEvent Activity,使用它可以处理托管在工作流运行时中的进程所产生的事件。微软的 MVP Scott Allen 对此进行了深入分析,介绍了 Windows Workflow Foundation 中 HandleExternal Event Activity 的实现。

工作流不能孤立而存在。典型的工作流需要接收从外部世界传来的数据,并让处于外部世界的我们知道何时需要做出决策,例如批准我们团队成员到拉斯维加斯旅游的开支报告。Windows Workflow(WF)提供了各种与外部世界通信的机制。例如,WebServiceInput 与 InvokeWebService 两个 activity 都是 WF 基础 activity 库的组件。我们可以通过这两个 activity 与使用基于 WSDL 契约的远程服务进行通信。

针对本地的、进程内的通信,我们可以使用 CallExternalMethod 和 HandleExternalEvent 两个 activity。CallExternalMethod activity 允许工作流调用在宿主中注册了的本地服务的方法。HandleExternalEvent activity 则允许工作流侦听其宿主抛出的事件。本文,我们将重点关注 HandleExternalEvent activity。