一般有两个方法可以传递参数给工作流
分别是Paramter和Event
1Paramter,参数,就是工作留定义好传递的参数,以属性方式在工作流类中声明好。宿主在开始运行工作流之前给这些参数赋值,以key/value形式。
直接使用 Dictionary<string, object> parameters = new Dictionary<string, object>();
比如工作流中定义了这些属性
private string firstName;
private string lastName;
public string FirstName
{
set { firstName = value; }
get { return firstName; }
}
public string LastName
{
set { lastName = value; }
get { return lastName; }
}
那么宿主程序在工作流实例化之前进行赋值
Console.WriteLine("输入firstname:");
string firstname = Console.ReadLine();
Console.WriteLine("输入lastname:");
string lastname = Console.ReadLine();
Dictionary<string, object> parameters = new Dictionary<string, object>();
parameters.Add("FirstName", firstname );
parameters.Add("LastName",lastname);
然后传递参数进去就行了。
WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(HelloWorldWorkflow.Workflow1),parameters);
instance.Start();
2Event,事件和方法,是指工作流添加activity的事件来接受和传递参数。宿主调用事件。工作流调用方法来传递参数。
具体例子可以参考状态机工作那个例子
分别是Paramter和Event
1Paramter,参数,就是工作留定义好传递的参数,以属性方式在工作流类中声明好。宿主在开始运行工作流之前给这些参数赋值,以key/value形式。
直接使用 Dictionary<string, object> parameters = new Dictionary<string, object>();
比如工作流中定义了这些属性
private string firstName;
private string lastName;
public string FirstName
{
set { firstName = value; }
get { return firstName; }
}
public string LastName
{
set { lastName = value; }
get { return lastName; }
}
那么宿主程序在工作流实例化之前进行赋值
Console.WriteLine("输入firstname:");
string firstname = Console.ReadLine();
Console.WriteLine("输入lastname:");
string lastname = Console.ReadLine();
Dictionary<string, object> parameters = new Dictionary<string, object>();
parameters.Add("FirstName", firstname );
parameters.Add("LastName",lastname);
然后传递参数进去就行了。
WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(HelloWorldWorkflow.Workflow1),parameters);
instance.Start();
2Event,事件和方法,是指工作流添加activity的事件来接受和传递参数。宿主调用事件。工作流调用方法来传递参数。
具体例子可以参考状态机工作那个例子
本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。