代码改变世界

《WF编程》系列之22 - 基本活动:CodeActivity

2007-07-20 09:07  Windie Chai  阅读(...)  评论(...编辑  收藏

4 基本活动库

活动是组成工作流的基本块.Windows Workflow的基本活动库包含了一些都通用的工作流活动.功能涉及流程控制,事务管理,本地通信,Web Services以及其他等等.这些活动都在工具箱中可以找到.有一些活动比较简单,比如CodeActivity,它的工作就是执行一段代码.而有的活动就比较复杂,如PolicyActivity可以以正向链法(forward chaining)来估算优先级. 通过使用这些基本活动,我们可以构建强大的工作流.

接下来让我们逐个分析这些基本活动的基本功能吧.

4.1 基本活动

基本活动库中的这些活动模拟了几乎所有编程环境中的主要操作,比如条件分支,循环还有子活动组.接下来,让我们以之前一直出现在范例中的活动开始漫游- CodeActivity.

4.1.1 CodeActivity

Code活动只有一个值得注意的功能-ExecuteCode事件.如果我们没有指定这个事件的处理程序, Code活动就不会通过验证.在工作流设计器中,我们可以双击Code活动,Visual Studio会自动创建并分配事件处理程序-我们所需要做的只是编写其中的代码实现而已.下面的代码演示了利用ExecuteCode事件在控制台中输出一条消息:

private void codeActivity1_ExecuteCode(object sender, EventArgs e)

{

Console.WriteLine(
"Hello, world!");

}


下面的截图中, 在Code活动的右上角有一个红色惊叹号图标,说明这个活动没有通过验证,因为我们没有为其指定ExecuteCode 事件.我们可以点击红色惊叹号来查看验证失败的原因.



虽然在工作流中执行自定义代码非常有用,但是实际上Code活动应该尽量少使用.我们应该将这些代码封装到自定义活动中.自定义活动可以拥有属性,而且可以重复使用.

而且,许多活动在执行时都会触发事件.有时候,我们完全可以不使用Code活动,仅仅通过在这些事件中编写代码就可以达到预期的效果.