WEB开发网
开发学院软件开发C语言 WF综合技术演示的例子 阅读

WF综合技术演示的例子

 2010-10-01 08:18:06 来源:WEB开发网   
核心提示:本文源代码下载地址:http://flashview.ddvip.com/2009_02/WF0016.rar发一个以WF为中心的综合技术演示的例子,在这个例子我分别用WPF,WinForm,ASP.NET,Silverlight实现了四个客户端,每个客户端的UI风格与功能完全一样,便于大家使用WorkflowRunt

本文源代码下载地址:

http://flashview.ddvip.com/2009_02/WF0016.rar

发一个以WF为中心的综合技术演示的例子,在这个例子我分别用WPF,WinForm,ASP.NET,Silverlight实现了四个客户端,每个客户端的UI风格与功能完全一样,便于大家使用

WorkflowRuntime宿主使用WCF发布,提供了对Silverlight的跨域访问,提供了大字串传递的配置

如果你对WPF,WinForm,ASP.NET,Silverlight引用WCF不熟悉,需用先学习WCF的知识

WPF,WinForm,ASP.NET,Silverlight你只需用掌握一样就可以完成本例的客户端开发

对数据库的操作,本例使用Ling To SQL ,果你对Ling To SQL不熟悉,需用先学习Ling To SQL的知识,或将这部分改为你所熟悉的数据库操作方式

本例不太适合WF的初学者

为了让大家对WF有一个总体的认识,以下说明我用问答方式来写

问:如果我想让用户可以自定义流程,但用户不会写代码,该怎么做?

答:建议用XOML无代码格式的工作流,实现方式看本例

问:如果我流程分支的条件判断很复杂,而且总变,有什么方案?

答:建议用rule外置方式,实现方式看本例

问:WorkflowRuntime宿主用什么? [ IIS 加载项] , [Windows服务] , [Windows 应用程序], [ASP.NET 中Application 缓存] ,[COM+]

答:建议用 [Windows服务] ,本例为了演示方便,使用的是[Windows 应用程序],

问:如果使用[Windows 应用程序] 或 [Windows服务],使用什么方式与客户端通信

答:建议使用WCF

问:客户端使用什么?[WPF] ,[WinForm] ,[ASP.NET],[Silverlight]

答:都可以,本例[WPF] ,[WinForm] ,[ASP.NET],[Silverlight]的客户端都提供了

问:Silverlight如何访问 [Windows服务] , [Windows 应用程序]中的WCF服务

答:在WCF服务添加一个跨域访问的服务,,实现方式看本例

问:工作流模板提供方式? [DLL] ,[XOML文件] ,[数据库]

答::建议使用[数据库]

问:WF中有状态维护,有跟踪,还需要自已维护一个状态表吗?

答:强烈建议,本例就自已维护了一个状态表

问:关于流程设计器?

答:对于XOML来说,[记事本],就是一个流程设计器,如果要提供一个可视化的流程设计器,只需操XOML文件既可,XOML是一个XML格式文件.也可使用WF提供的设计器控件本例没有提供可视化的流程设计器,对这方面感兴趣可以看我关于这方面的文章

问:需要动态表单设计器吗?

答:建议提供,否则将无法真正实现"让用户自已做流程"的目的,本例没的提供流程设计器,对这方面感兴趣可以看我关于这方面的文章

问:如果不写代码,流程的具体结点功能如何实现?

答:封装成自定义Activty,实现方式看本例

问:如果不写代码,自定义Activty之间如何通信?

答:使用DependencyProperty,实现方式看本例

问:可以在工作流启动或运行环节中向流程传递数据吗?

答:可以,实现方式看本例

问:可以在工作流启动或运行环节中动态添加或删除节点吗?

答:可以,本例没的提供,对这方面感兴趣可以看我关于这方面的文章

目录说明

WF综合技术演示的例子

系统架构说明

WF综合技术演示的例子

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

项目说明

WF综合技术演示的例子

数据库说明

wfTemplate 模板表

编号

字段

中文对照

数据类型

外创

模创

外改

模改

主键

外键

非空

唯一

字段值选项

选项代表含义

说明

 

templateID

模板编号

nvarchar(50)

 

 

templateEdition

模板版本

nvarchar(50)

 

 

xoml

模板数据

nvarchar(MAX)

<XML>

 

rules

规则数据

nvarchar(MAX)

<XML>

wfTaskList 状态表

编号

字段

中文对照

数据类型

外创

模创

外改

模改

主键

外键

非空

唯一

字段值选项

选项代表含义

说明

 

instanceID

 

nvarchar(50)

 

    

    

 

state

 

int

 

   

 

0,1

0活动,1完成

 

 

token

 

nvarchar(50)

 

    

    

 

stateContent

 

nvarchar(MAX)

 

         
  

result

 

nvarchar(50)

          
  

value

 

nvarchar(MAX)

          

客户端说明

WPF

WF综合技术演示的例子

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

WinForm

WF综合技术演示的例子

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

ASP.NET

WF综合技术演示的例子

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

Silverlight

WF综合技术演示的例子

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

附一个测试例子

场景

WF综合技术演示的例子

流程

WF综合技术演示的例子

WF综合技术演示的例子

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

测试

本演示使用Silverlight客户端,其它客户端使用方式与本演示一样,同一流程可使用不同客户配合完成

启动服务

WF综合技术演示的例子

发布流程

WF综合技术演示的例子

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

WF综合技术演示的例子

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

(1)001申请

WF综合技术演示的例子

WF综合技术演示的例子

(2)002驳回

WF综合技术演示的例子

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

WF综合技术演示的例子

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

(3)001再申请

WF综合技术演示的例子

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

WF综合技术演示的例子

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

(4)002同意

WF综合技术演示的例子

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

WF综合技术演示的例子

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

(5)003实施

WF综合技术演示的例子

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

状态表信息

WF综合技术演示的例子

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

Tags:WF 综合 技术

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