1

几年前(在 WF 存在之前),我从事自定义工作流引擎的工作。它的工作原理如下:设计一个工作流(称为定义),将特定类型的工作项与该定义相关联(例如:工作流定义 X 处理小部件),并通过创建一个实例来处理该工作项的各种状态和转换每个工作项的定义。

工作项实现了一个 IWorkItem 接口,允许将其作为一种状态机进行处理(例如,它具有当前状态和一组运行、停止、暂停等方法来控制它)。

在 Windows Workflow 中,如何定义工作项?它可以是在我的 SQL Server 数据库中建模的自定义实体吗?我必须给它任何特定的字段吗?在我的代码中表示它的对象是否必须实现特定的接口?就底层行数据而言,它如何响应持久性/解除持久性?如何轻松查询数据库以获取实体的状态?

4

1 回答 1

1

WF 中的工作项是工作流本身,它由“活动”组成(可以是内置的,也可以通过派生自 .net 活动类型之一来定制。可以添加一些扩展来支持持久性,跟踪等。是一个很好的框架介绍。

以我个人的经验,我读了一本书,因为当时,MSFT 文档对于 WF4 来说并不是很好,但现在看起来更好。我已经能够建立一个工作流程来模拟我办公室的销售流程。销售人员使用连接到 WCF 服务的 Silverlight 客户端,该服务反过来提供存储在我的持久性表中的数据。它还与管理创建工作流的新实例并将现有实例保存回 SQL 数据库的工作流服务进行交互。至于查询现有实例,这非常简单。在我的例子中,我安装了 MSFT 提供的实例存储数据库,我只是查询了它们提供的表之一。

于 2012-07-17T01:42:30.293 回答