更新与quot; Silverlight的FAQ部分,Partnbsp; 2nbsp;和部分3quot;链接
quot更新; WCF的部分1quot;链接
quot更新;状态机工作流Discussionquot;链接
更新"一对多和一对一的关系使用LINQ到SQLquot;链接Windows Workflow Foundation的常见问题
{A}{A3}{A4}{A5}{A6}{A7}{A8}{A9}{A10}
在这个常见问题,我们将更快地运行,并得到世界自然基金会(Windows Workflow Foundation的)将如何帮助您在您的项目自定义工作流的感觉。
我已经写作和录制视频架构。 {A11}我有一些示例视频设计模式,UML,功能点上传和下载PDF涵盖SOA中,UML,设计模式,TOGAF,哎呀等完整的体系结构的面试问题
如果你还没有读过我以前快速的FAQ部分,你总是可以从下面读取:第1部分设计模式的面试问题{A12}第3部分设计模式的面试问题{A13}第4部分设计模式的面试问题{A14}UML的第1部分面试问题{A15}UML的第2部分面试问题{A16}依赖注入{A17}Silverlight的FAQ部分1: - {A18}Silverlight的FAQ部分2: - {A19}
Silverlight的FAQ部分: - {A20}Windows通信框架{A21}Windows通信框架{A22}Windows演示框架{A23}状态机工作流的讨论{A24}一对多和一对一的关系使用LINQ到SQL {A25}
快乐求职......{A26}
世界自然基金会是建设启用工作流的应用程序在Windows的编程模型。系统。工作流命名空间开发任何类型的工作流的所有必要的模块。{A27}
工作流的活动,这是模型和存储为他们描绘一个过程。下图描绘了明确的工作流和活动之间的差异。每一个任务,就是一个活动,活动组描绘了一个完整的工作流程。工作流是由工作流运行时引擎。{S0}图1: - 工作流基础架构
工作流模型可以写在纯NET代码,纯的XAML或XAML的组合。NET代码。编译工作流模型,并可以在Windows下,ASP.NET,Web服务或Windows服务应用程序执行。{A28}?
有两个基本的顺序工作流工作流顺序工作流和状态机工作流。
类型有明确的开始和结束边界。工作流控制执行顺序工作流。在顺序执行,一个任务后,其他执行。顺序工作流是在格式刚性和执行路径有一个确定性的性质。
状态机工作流更多的动态性。工作流程有国家和国家的等待事件,以帮助它移动到下一个状态。状态机的执行路径是undeterministic性质。
下图显示了视觉概念化的基本面。你可以看到在顺序工作流的执行路径是非常determent。希夫执行整个任务的顺序,而这些任务都非常determent。现在看看在第二个工作流程。每一个国家去其他国家,当它接收到某些外部事件。例如,当希夫是看到"星际迷航"有一个闪烁的消息,触发他看到闪烁的新的事件。图2: - 顺序和状态机工作流{A29}
如果工作流是非常刚性的,然后你去的顺序工作流和工作流是动态的状态机工作流。比如你下了订单,直到您的主管批准是刚性流动的秩序将无法通过。因为您的订单,监事批准,否则将不被批准。但是,如果您的订单从一个地方移动到其他地方。例如,它的动作从审批等待,然后澄清一个状态机工作流模型是比较合适的。
下面是一个简单的代码片段,实际上显示了如何使用顺序工作流。让我们尝试由图中标示的一步一步了解: -
1 - 首先,你需要选择系统。工作流命名空间
2,3,4 - 在这三个步骤,我们创建的代码对象和活动联系在一起
5,6,7和8 - 我们启动工作流,创建工作流实例对象来运行顺序工作流。 8,你可以看到输出。取决于如何添加在第3节的活动,它按顺序执行。因为我们有添加codeactivity1,首先它首先执行的第一项活动。你如何添加活动的活动的集合序列的活动运行。{S2}图: - 3工作流代码片段
注: - 上面的代码片断,开发出使用设计师。整点是让你了解幕后发生的事情。在实际项目中,您将会对设计师的依赖,而不是编码手动。你可以找到在上面的代码SimpleWorkFlowSampleManual文件夹。{A30}
正如先前所说,这是非常容易使用设计师的设计工作流程。因此,我们将回答这个问题,实际上做了一个小样本。以下是代码片段和图像快照,展示了我们如何可以使用设计器来创建工作流。因此让我们了解以下编号的快照。首先选择一个顺序工作流项目。在这种情况下,我们已选定的顺序工作流控制台应用程序,以保持样品的简单。当您完成创建项目在第二个快照所示,你会看到解决方案资源管理器。有两个文件之一WorkFlow1.cs和其他Workflow1.designer.cs.If您单击快照3所示,你会得到一个设计师的窗格上WorkFlow1.cs。如果你双击Workflow1.designer.cs,你会得到后面的代码快照4所示。因此,让我们拖放一个工作流设计器的代码活动和准这项活动作为MyActivity1称为方法。该协会执行代码属性的输入方法的名称。 MyActivity1,我们刚才在控制台中显示,这是我的第一项活动。同样,我们增加了更多的代码的活动,这点MyActivity2。如果你看到设计师的窗格中,我们有测序CODE1第一和代码2下。因此,在短,CODE1将首先执行的代码2。从下面显示的输出,这是明确的。这是工作流的代码隐藏。{S3}图4使用Designer的顺序工作流{A31}
是的,你可以使用conditionedActivitygroup定义工作流条件。下面是编号的快照,它展示了如何使用conditionedActivitygroup。你可以看到在此,我们定义了两个条件,一个conditionedActivitygroup快照。本集团内的两个箱子定义两个条件。您可以选择一个条件框和使用时的财产条件定义的条件。如果这种情况是真实的,你需要指定在执行代码的方法来执行。举例来说,在当前的快照中,我们已经说过old1方法应该执行,如果年龄GT; 21。同样的过程,我们需要遵循的第二个条件中。在第二个条件中,我们已经指定执行young1方法,如果年龄LT; 21。目前,第二个条件是在下面的快照中不可见。工作流编辑器还提供了一个清爽的界面规则条件编辑器,可用于指定条件。年龄在后面的代码是公共财产。您也可以在规则条件编辑器的智能时代。这两个条件将执行内部条件的活动组。我们还需要指定时,应退出本conditionactivitygroup。因此,我们已为退出调用的函数。如果用户输入的年龄为-1将退出循环,否则将采取从用户的输入和继续评估取决于两个条件。{S4}的图5: - 与条件的顺序工作流
工作流程中的异常处理是我们如何做到在正常有所不同。NET应用程序。下面是我们如何处理工作流程中的异常编号快照。我们有小标签,它说,视图例外。如果你点击查看异常,你将被重定向到一个只为例外,因为在编号快照2所示的工作流设计。这是的工作流程,将执行柜面,我们有例外。我们已经把代码的活动,这点称为作为提高异常的方法。柜面的工作流程中的异常之后,将路径。{五}图6: - 异常处理流程{A33}?
捻度: - 我们如何序列化的工作流程?
的Windows Workflow Foundation为开发人员提供了一个声明的方式使用XAML创建工作流。有关XAML的更多细节,请参阅WPF章。这些标记文件存储的XOML(可扩展对象标记语言)的延伸。在下面的快照,你可以看到Workflow1.xoml设计师创建的文件。标记文件也可以有后面的代码。整体概念的XOML文件后面的代码是分别从逻辑文件简报。
在下面的代码快照,我们有一个简单的XOML样本。下面是解释数明智的:为了创造一个XOML文件,您需要添加顺序工作流与分离。这意味着,XOML文件将被后面的代码创建。目前我们有两个活动code3和CODE1。下面是XOML文件的内容:<?Mapping XmlNamespace="ComponentModel"
ClrNamespace="System.Workflow.ComponentModel"
Assembly="System.Workflow.ComponentModel" ?>
<?Mapping XmlNamespace="Compiler"
ClrNamespace="System.Workflow.ComponentModel.Compiler"
Assembly="System.Workflow.ComponentModel" ?>
<?Mapping XmlNamespace="Activities"
ClrNamespace="System.Workflow.Activities"
Assembly="System.Workflow.Activities" ?>
<?Mapping XmlNamespace="RuleConditions"
ClrNamespace="System.Workflow.Activities.Rules"
Assembly="System.Workflow.Activities" ?>
<SequentialWorkflow x:Class="WorkflowSeq.Workflow1"
x:CompileWith="Workflow1.xoml.cs" ID="Workflow1"
xmlns:x="Definition" xmlns="Activities">
<Code ExecuteCode="Mycode3" ID="code3" />
<Code ExecuteCode="Mycode1" ID="code1" />
</SequentialWorkflow>
的XOML文件,请参阅上面的代码片段。你可以看到后面的代码是如何使用属性编译链接。代码形式的顺序工作流标记的元素。带有标记的最好的事情之一,是我们可以改变,只是通过改变我们不需要重新编译整个应用程序的XOML文件的顺序。{中六}图7: - 行动的XOML
在上面的快照的事情到现在是3,4,和5个编号的部分之一。这些部分不与样品。但只是为了让你知道你可以创建任何工作流序列化和反序列化再使用文字Writer对象。{A34}
当你调用的启动工作流功能,您可以通过使用Dictionary对象的名称/值对。{七}图8: - 传递到工作流程的价值| Shivprasad柯伊拉腊