您的位置:首页 > 其它

工作流WF4 关于参数

2010-11-20 22:30 232 查看
在代码中为IN,OUT参数赋值各有两种方式
public System.Activities.InArgument<string> myIn { get; set; }

protected override void Execute(CodeActivityContext context)
{

string s1 = context.GetValue(this.myIn);
string s2 = myIn.Get(context);

System.Console.WriteLine(s1);
System.Console.WriteLine(s2);

}


public System.Activities.OutArgument<string> myOut  { set; get; }

protected override void Execute(CodeActivityContext context)
{
//1
string s1 = myOut.Get(context);
myOut.Set(context, "wxd" + s1);

//2
string s2 = context.GetValue(myOut);
context.SetValue(myOut, "lzm" + s2);

}


参数的传入和接收方式

/// <summary>
/// 单击启动工作流
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
Activity activity = ActivityXamlServices.
Load(@"E:/Project/WorkflowApplication/WebApplication/Activity/Workflow1.xaml");

Dictionary<string, object> dic = new Dictionary<string, object>();
dic.Add("left", 1);
dic.Add("right", 2);

WorkflowApplication app = new WorkflowApplication(activity, dic);

app.Completed = workflowCompleted;
app.Run();
}

/// <summary>
/// 工作流结束时触发的事件,已委托给工作流
/// </summary>
/// <param name="e"></param>
void workflowCompleted(WorkflowApplicationCompletedEventArgs e)
{


//接收参数
IDictionary<string, object> dic = e.Outputs;
Response.Write(dic["Rst"].ToString());
}


[In 参数],关联变量值可传入内部;内部修改参数时,关联变量不会更改

[Out 参数] 关联变量值无法传入内部,内部参数修改时,会更新其关联的变量

[In/Out 参数]关联变量值可传入内部;内部参数修改时,会更新其关联的变量

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: