学WF系列(一)——Hello world开始
2010-10-01 08:25:27 来源:WEB开发网接下来创造一个相应的工作流的实例,然后让这个实例开始执行。
而后去调用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();
};
- ››WF 4.0 beta1中的跟踪机制
- ››WF 4.0的建模风格:顺序和Flowchart
- ››WF4.0 Beta1之旅(5):规则引擎的变化
- ››WF 4.0 beta1活动概览(1):Procedural
- ››WF4.0 Beta1之旅(4):Bookmark的使用
- ››WF4.0 Beta1之旅:基本介绍
- ››WF4.0 Beta1之旅(2):异常处理
- ››WF4.0 Beta1之旅(3):全新的FlowChart
- ››WF 应用场景指南: SharePoint 与工作流(上)
- ››WF 应用场景指南: 展现流(Presentation Flow)
- ››WF单元测试系列1:测试基本的Activity
- ››WF单元测试系列2:简单测试Activity的行为
更多精彩
赞助商链接