摘要:
在下面的例子中,你可以实现一个使用状态机工作流的应用程序.这个例子中,我选择了一个比较常见的命题作为模型:操作汽车.
然后,你不能把这个模型看作一个真是的应用,它只是用来展现状态机工作流中那些重要的状态/事件/切换的基础概念.
在这个命题下可以将她们轻松的联系在一起.
.........
现在开始定义工作流,添加一个名字是CarWorkflow状态机工作流到SharedWorkflows项目中,通常我喜欢在切换到工作流可视化设计器前定义工作流变量和属性,然后现在这个工作流不需要专门的属性和变量.实际上你没有必要对工作流添加一行代码.在可视化工作流设计器上我们可以做所有需要的事情. 阅读全文
摘要:
定义一个状态机工作流,你必须从StateMachineWorkflowActivity开始,在将状态机工作流作为添加项目模版或者创建一个状态机项目模版时,StateMachineWorkflowActivity是基础类.你可以添加一个状态机工作流到任何项目中,这意味着你可以混合和匹配状态机和顺序级工作流到同一个项目中.
在工作流中,个别的状态实例是通过StateActivity声明定义的,每个事件都是需要通过EventDrivenActivity来调用和声明的.当事件(event)接收到通知,这个复合的activity就会被触发执行.为了其他的子activities在事件接受到通知时被触发执行,第一个EventDrivenActivity必须继承 IEventActivity 接口.当使用状态机工作流时,这个特色意味着第一个事件必须是HandleExternalEventActivity跟随着HandleExternalEventActivity实体,你可以将其他希望这个事件接受到通知后执行的实体加入进来.
阅读全文