返回首页

简介
本文介绍如何创建和运行在Windows Workflow Foundation的顺序工作流(原为世界自然基金会(WWF)或只是WF)捆绑了。NET Framework 3.0和以上。
在我们开始,如果你是新白表。NET Framework 3.0的,我觉得你最好看看关于WF的一些文章。下面是一些有用的链接:{A}背景
为了创建WF的应用,你需要安装一些必需的程序包/工具。
这些是:。NET框架3.0运行时Visual Studio 2005专业版Windows Workflow Foundation的扩展Visual Studio 2005中Windows通信基础(WCF,以前靛蓝);的Windows Presentation Foundation(WPF中,以前的Avalon)
第四个实际上是可选的。但是,可能有一些麻烦,你可能会得到一些奇怪的错误,如果你没有在开发计算机上安装WCF和WPF。因此,我建议你有安装WCF和WPF太多。
顺序工作流是工作流运行的命令。这意味着,一切都发生的某些事情发生后另一个。有一个定义的路线图,和应用程序如下。
现在,我想展示一个例子。假设您要推迟5年或10秒延迟时间取决于随机生成一个整数。在这里,条件很简单,但在现实生活中的例子,即使是最复杂的条件是,如果块中定义的。因此,我们将定义在if块的条件。如果这个数小于5,我们将等待5秒钟,否则,如果数字是大于5秒,我们将等待10秒。
是的,我知道这听起​​来很蠢,但是这是一个初学者的例子WWFs你WWFs熟悉后,您可以创建您自己的更复杂的应用,使用更复杂的条件。 使用代码
让我们深入到代码。
首先,我们打开。NET Visual Studio 2005中。在"起始页"窗口,单击"创建行项目。在新建项目窗口,延长的Visual C#"节点,然后选择工作流程。有许多应用,但我们将创建一个状态机,应用程序,所以我们选择顺序工作流控制台应用程序,并将它命名为MySequentialWorkflow。然后点击OK。{S0}
创建应用程序后,您的设计的窗口应该看起来像这样:
注意:如果你不能看到Workflow1.cs [设计]或与上述步骤如果有什么错,去检查的要求。也许你错过了他们中的一些或安装不正​​确。
现在,添加CodeActivity从工具箱Workflow1。然后IfElseActivity和两个DelayActivitys到每个IfElse分支。最后,添加后IfElseActivity一个CodeActivity。我们将配置这些活动。
在Workflow1.cs类,添加这些私有变量:

private int i;

private DateTime start , finish; 

在设计视图中,双击codeActivity1"。这将带你到"代码视图"窗口。在那里,添加下面的代码片段:{C}
返回到设计视图,单击ifElseBranchActivity1。在属性窗口中,你会看到"条件"行。点击它,选择"声明性规则条件。现在,扩大为LessThan行,并设置条件名称。点击表达和规则条件编辑器"窗口中,写下面的代码:
this.i < 5 

为另一支相同,现在的名称为GreaterThan并给予表达:
this.i >= 5

点击delayActivity1并设置TimeoutDuration为00:00:05。 delayActivity2的相同,它设置为00:00:10。
最后一件事,双击codeActivity2并添加下面的代码片段:
private void codeActivity2_ExecuteCode(object sender, EventArgs e)

{

     Console.WriteLine("Finished...");

     finish = DateTime.Now;

     Console.WriteLine("Time Elapsed : " + finish.Subtract(start));

     Console.ReadLine();

}

所有这些变化后,你的设计视图应该看起来像这样:{S2}
现在,按F5键或单击"运行"以运行该项目。你会得到不同的输出,但两个可能的输出值4和8如下:
的兴趣点
正如我前面提到过,永丰本身是不够的创建WF的应用。您可能已经安装WCF和WPF以及为永丰。历史2007年10月1日:第一版

回答

评论会员:莫哈末Wasif 时间:2011/12/15
主席先生,

我也跟着每一步,因为你告诉但事情是这样的,当我按F5
 60;
Promt窗口出现空白。
请让我知道该怎么做,因为它迫切?

等待的早期反应。

感谢你。
穆罕默德Wasif
评论会员:rama_anji434 时间:2011/12/15
你的代码是helpful.it节省大量的时间。

安吉
评论会员:toanlh 时间:2011/12/15
这是很有帮助的。请你举一个例子,使用循环条件
评论会员:。Mehdi_S 时间:2011/12/15
您好,
我在BPEL的新的和与C#developping时,我必须使用它。
我听说,我可以使用BPEL世界自然基金会。
如果u可以帮助,请告诉我。
感谢