`
maplye
  • 浏览: 111308 次
  • 来自: ...
社区版块
存档分类
最新评论

WF学习-WorkFLow中的参数

    博客分类:
  • .NET
阅读更多

系统和WorkFlow交互有很多种方式,今天介绍的是通过WorkFlow的parameter的方式,系统怎么讲数据传输给Workflow,
而Workflow怎么讲数据返回给系统。
实例如下:
大部分的操作和上篇建立Console Workflow Application相似,有几个不同的地方。
首先,创建WorkflowInstance

//增加参数
                Dictionary<stringobject> parameters = new Dictionary<stringobject>();

                parameters.Add(
"MyInputParameter"42);

                
//使用参数parameters创建WorkflowInstance
                WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(WorkflowConsoleApplication3.Workflow1), parameters);
                instance.Start();


然后,需要在workflow1.cs文件中增加MyInputParameter的属性
public int myInputParameter = 0;


        
public int MyInputParameter
        
{
            
get
            
{
                
return this.myInputParameter;
            }

            
set
            
{
                
this.myInputParameter = value;
            }

        }

在workflow中的一些Activity中给这个属性赋值
private void codeActivity1_ExecuteCode(object sender, EventArgs e)
        
{
            Console.WriteLine(
"Hello WorkFlow");

            
this.MyInputParameter = 100;
        }

最后,我们看怎么得到workflow该数据返回到应用程序中
我们给Workflowruntime 增加一个Completed 事件,事件的代码如下:
static void workflowRuntime_WorkflowCompleted(object sender, WorkflowCompletedEventArgs e)
        
{
            Console.WriteLine("MyOutputParameter:{0}", e.OutputParameters["MyInputParameter"].ToString());
        }


这样通过e.OutputParameters["MyInputParameter"].ToString()的方式就可以得到从workflow中的属性值。
示例代码下载:/Files/maplye/WF/wf_code1.rar

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics