WEB开发网
开发学院软件开发C语言 学WF系列(一)——Hello world开始 阅读

学WF系列(一)——Hello world开始

 2010-10-01 08:25:27 来源:WEB开发网   
核心提示: 接下来创造一个相应的工作流的实例,然后让这个实例开始执行,学WF系列(一)——Hello world开始(4),而后去调用AutoResetEvent的实例waitHandle.WaitOne()作用在于阻止当前线程的执行,从而让该工作流进行结束后,所有的属性都是以键值对的形式存储在哈希表中,因

接下来创造一个相应的工作流的实例,然后让这个实例开始执行。

而后去调用AutoResetEvent的实例waitHandle.WaitOne()作用在于阻止当前线程的执行,从而让该工作流进行结束后,即WorkflowRuntime.WorkflowComplete事件技术后,我们再可以在这条语句后来调用执行其他的语句。

没什么好说的了,接下来去创建一个工作流的实例,然后开始执行。

7. 让程序更有趣一些

分析过宿主文件之后,那我们开始让程序更有趣一些。

而手脚就让我们从那两个匿名方法开始。

首先修改workflow1.cs 的 后台代码:

public sealed partial class Workflow1 : SequentialWorkflowActivity
{
  public Workflow1()
  {
    InitializeComponent();
  }

  private string message;
  public string Message
  {
    get { return message; }
  }

  private void codeActivityHello_ExecuteCode(object sender, EventArgs e)
  {
    this.message = "Hello world";
  }
}

当工作流执行的时候,他就给Workflow1类所实例化的对象中的Message属性赋值为Hello world。我们需要做的是将这个Message获取出来。

先让我们来看看本质,其实,在工作流的对象中,所有的属性都是以键值对的形式存储在哈希表中,因此,我们可以通过WorkflowCompleteEventArgs参数将对应的属性得到,代码如下:

string message = String.Empty;
workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) {
  message = e.OutputParameters["Message"].ToString();
  waitHandle.Set();
};

上一页  1 2 3 4 5  下一页

Tags:WF 系列 Hello

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接