讨论基于State Machine Workflow及目前对WF的认知。
workflow foundation提供的只是一个最基本的框架,其给我们实现的
是流程的控制。
在实际应用中涉及的数据操作则需要的自己来操作。
一个workflow运行过程中涉及的数据可以分为以下几种:
全局数据、局部数据、运行日志、异常/错误信息。
全局数据:
指的是那些贯穿于整个workflow实例。比如一个文档审批的流程,
其文档的内容就是全局数据。这些数据应该做为workflow的属性(或者其他形式)存在,
对Host公开,便于Host在创建实例的时候访问、修改其中的内容。
局部数据:
局部数据是相对于全局数据而言的,属于Workflow中的Activity内部使用的数据,
可能是WorkFlow自身带的数据,也可能是Host传入的数据。比如允许执行这个Action的人
及目前正在执行的人,但是其只在Activity内部使用,并不对Host公开。
自身的数据可以在创建好Workflow的时候设置好,而对于外部传入的数据可以使用事件的
参数(State Machine Workflow是依靠事件的触发来实现状态的改变)。
运行日志:
Workflow实例运行时的信息,包括目前Workflow进行到的步骤等信息,便于Host检索
Workflow的运行进度。这些信息可以使用CallExternalMethod Activity调用外部的方法来
保存相关的信息。
异常/错误信息:
Workflow运行的错误信息或者不符合要求的信息。操作与运行日志相似。