当前位置: 代码迷 >> 综合 >> Windows Workflow Foundation (wwf) 学习笔记(二)
  详细解决方案

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

热度:30   发布时间:2024-01-22 00:10:31.0
Windows Workflow Foundation (wwf) 学习笔记(二)
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)   编辑  收藏 引用 网摘
<script type=text/javascript> // </script>
评论
    夏林
    Posted @ 2006-05-08 16:16
    顶,我手上的工作也正需要研究这一块,一起讨论。

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