Windows Workflow Foundation (wwf) 学习笔记(二)

本文介绍了如何在Windows Workflow Foundation (WWF)中使用SequentialWorkflowWithParameters实现参数化的流程控制。通过实例展示了如何定义输入输出参数,并根据输入参数值决定工作流的不同执行路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4、           Sequential Workflow With Parameters
Workflow 的流程是可以带参数的,这样,流程代码可以根据外界参数的值来对后面执行情况进行选择判断。
在本例用选中 SequentialWorkflow 对象,可以看到该对象有 Parameters 属性,点击该属性,探出如下图窗体:
这里可以定义多个 Parameter 对象,包括对象的 Name Type 等属性, Direction 用于表明该参数是输入参数还是输出参数。本例中定义了 amount 输入参数,和 status 输出参数。
本例流程如图, ifElseBranch1 Condition 属性的执行方法如下:
 private bool IsApproved(object sender, EventArgs e)
        {
            if (Convert.ToInt32(this.Parameters["amount"].Value) < 500)
                return true;
            else
                return false;
        }
这里是根据外界传递来的参数 amount 的值判断 ifElse 最终选择的路径的。
Code1 中:
private void Approved(object sender, EventArgs e)
{
    this.Parameters["status"].Value = "approved";
}
Code2 中:
private void Rejected(object sender, EventArgs e)
{
    this.Parameters["status"].Value = "rejected";
}
Code1 Code2 分别给出了 2 种路径的输出参数值。
在看看 Program.cs 中是怎样调用这个带参数的工作流的
Dictionary <string, object> parameters = new Dictionary<string, object>();
parameters.Add("amount", Convert.ToInt32(args[0]));
 
// Load the workflow type
Type type = typeof(SequentialWorkflowWithParameters);
 
// Create and start an instance of the workflow
workflowRuntime.StartWorkflow(type, parameters);
在工作流结束的事件中,通过 OutputParameters 属性,拿到了输出参数 status 的值。
static void OnWorkflowCompleted(object sender, WorkflowCompletedEventArgs workflowCompletedEventArgs)
{
 //The order status is stored in the "status" "in" parameter
 string orderStatus = workflowCompletedEventArgs.OutputParameters["status"].ToString();
 Console .WriteLine("Order was " + orderStatus);
 waitHandle.Set();
}
posted on 2006-05-08 15:07 安徒生的童话 阅读(1152) 评论(2)   编辑  收藏 引用 网摘
评论
夏林
Posted @ 2006-05-08 16:16
顶,我手上的工作也正需要研究这一块,一起讨论。

徐汇  回复  更多评论   
  • # re: Windows Workflow Foundation (wwf) 学习笔记(二)
    随风飘散
    Posted @ 2006-05-09 15:18
    兄弟加入WinFX团队呀,一起研究WinFX  回复  更多评论   
# re: Windows Workflow Foundation (wwf) 学习笔记(二)
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值