欢迎来到天天文库
浏览记录
ID:40529862
大小:1.59 MB
页数:54页
时间:2019-08-04
《Activity学习研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、微软工作流活动研究微软工作流中提供了28个活动活动名称:Code类名称:CodeActivity说明:是一个可以添写代码的结点,是一个最基本的结点CodeActivity提供了一个ExecuteCode事件,可绑定一个codeActivity1_ExecuteCode(objectsender,EventArgse)格式的方法,每当流程运行到该结点时行绑定到该事件的方法在设计模式中双击CodeActivity,可自动完成ExecuteCode事件的绑定,并体现到ExecuteCode属性上 该事件所绑定的方法
2、的格式如下:privatevoidcodeActivity1_ExecuteCode(objectsender,EventArgse){}示例代码:1.新建工作流项目2.然后再拉一个Code活动图标到工作流界面设计器上1.再双示CodeActivity1,会出如下方法2.然后就可以在方法CodeActivity1_Executecode方法中加入你要执行的代码.privatevoidcodeActivity1_ExecuteCode(objectsender,EventArgse){Console.Write
3、Line("HelloWorld!!!!");Console.Read();}3.然后再运行出现:HelloWorld!!!就OK,下面是示例工程代码.一、活动名称:IfElse类名称:IfElseActivity条件分支活动说明:使您的工作流能够有条件地执行多个可供选择的分支之一。可在每个分支上放置一个条件,而条件为真的第一个分支将执行。无需在最后一个分支上放置条件,因为它被视为“else”分支IfElseActivity包含一个或多个子活动,每个子活动将一个布尔表达式绑定到一系列活动,当且仅当该布尔表达式
4、值为true时执行这些活动。.IfElseActivity有两个IfElseBranch子控件,分别作为IfElse的两个分支容器,系统自动添加,.其中左边(为真件条)的IfElseBranch容器要设Condition.IfElse左边(为真件条)的IfElseBranch容器的Condition有两个条件模式:CodeCondition,DeclarativeRuleCondition示例代码:1.新建工程项目如下图:2.然后再拉一个IfElse活动图标到工作流界面设计器上1.再设置其IfElse的规则,
5、设置ifElseBranch1的规则条件,如下图点击ConditionName后,可以选择按钮会出现如下图1.ifElseBranch2就不用设置了,如果ifElseBranch1的条件不满足就执行ifElseBranch22.因为是条件分支,所以外面就传入一个值以供条件分支判断,要加入如下代码,Dictionaryparameters=newDictionary();parameters.Add("OrderValue",9000);Workflo
6、wInstanceworkflow=workflowRuntime.CreateWorkflow(type,parameters);将条件传入工作流中,然后由工作流中设置好的条件进行判断,再返回结果。6.工程代码如下:一、活动名称:Listen类名称:ListenActivity工作流侦听活动说明:使工作流能够等待(可能存在的)多个事件之一,或者在指定的超时间隔之后停止等待,并且基于结果分支。可向每个分支中添加一个或多个由事件驱动的活动。只有第一个满足条件的分支被执行;其他分支都不会运行。当人为因素与宿主应用
7、程序进行交互并执行一些操作来唤醒工作流时,本地服务将向运行时发布请求来恢复钝化的工作流。WindowsWorkflowFoundation工具箱包含一个称为Listen的活动,该活动只是使工作流空闲并侦听传入的唤醒呼叫单线触发容器,使用EventDrivenActivity作为分支容器,当某条分支中的结点执行完成后,该ListenActivity结点就结束,继续向下执行,其他分支内的结点就不执行了.示例代码:1.新建工程项目。2.然后再拉一个Listen活动图标到工作流界面设计器上,如下图3.POSatusL
8、isten中三个事件OnOrderApprovedEventDriven、OnTimeoutEventDriven、OnOrderRejectedEventDriven要等待用户的干预.4.下面这段代码就是模拟用户的干预,代码如下:staticvoidOnWorkflowIdled(objectsender,WorkflowEventArgse){orderService.instanceId=e.
此文档下载收益归作者所有