WEB开发网
开发学院软件开发C语言 《WF编程》系列之46 第七章 事件驱动工作流 阅读

《WF编程》系列之46 第七章 事件驱动工作流

 2010-10-01 08:20:51 来源:WEB开发网   
核心提示: 新的项目将会在名为Workflow1.cs的文件中包括一个默认的工作流,我们可以删除这个文件并添加我们自己的State Machine Workflow(with code separation),《WF编程》系列之46 第七章 事件驱动工作流(4),命名为BugWorkflow.xoml(参

新的项目将会在名为Workflow1.cs的文件中包括一个默认的工作流。我们可以删除这个文件并添加我们自己的State Machine Workflow(with code separation),命名为BugWorkflow.xoml(参见下面的截图)。

《WF编程》系列之46 第七章 事件驱动工作流

图片看不清楚?请点击这里查看原图(大图)。

工作流设计器将和我们新的状态机工作流一起出现(参见下面的截图)。现在,工具箱窗体是可以使用的,其中填充着基础活动库中的活动。然而,最初,我们只能使用活动类型的子集——这些活动类型列出于下面截图的BugFlowInitalState图形中。

《WF编程》系列之46 第七章 事件驱动工作流

在开始设计我们的状态机之前,我们将需要一些代码支持。特别地,我们需要一个能提供事件的服务来驱动工作流。

Bug的生命期

状态机将花费大部分时间在等待来自本地通信服务的事件到达上。我们在第3章讨论过本地通信服务,我们需要一个接口来定义服务契约。接口将定义一些事件,服务可以触发这些事件以提供数据到工作流;接口还定义了一些方法,工作流可以在服务上调用这些方法。对于下面这个例子,我们的通讯是单向的——我们仅定义了几个事件。

[ExternalDataExchange]
public interface IBugService
{
  event EventHandler<BugStateChangedEventArgs> BugOpened;
  event EventHandler<BugStateChangedEventArgs> BugResolved;
  event EventHandler<BugStateChangedEventArgs> BugClosed;
  event EventHandler<BugStateChangedEventArgs> BugDeferred;
  event EventHandler<BugStateChangedEventArgs> BugAssigned;
}

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:WF 编程 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接