再发一个WF综合技术演示的例子
2009-02-27 16:32
549 查看
再发一个WF综合技术演示的例子
例子下载:
http://cid-c36588978afc344a.skydrive.live.com/self.aspx/temp/WF0016.rar
(说明:由于在博客园的文件空间满了,以后我的例子只能放到MS的网盘上了,有朋友说下载慢,我也没办法)
这个也可以用了
http://files.cnblogs.com/foundation/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,实现方式看本例
问:可以在工作流启动或运行环节中向流程传递数据吗?
答:可以,实现方式看本例
问:可以在工作流启动或运行环节中动态添加或删除节点吗?
答:可以,本例没的提供,对这方面感兴趣可以看我关于这方面的文章
例子下载:
http://cid-c36588978afc344a.skydrive.live.com/self.aspx/temp/WF0016.rar
(说明:由于在博客园的文件空间满了,以后我的例子只能放到MS的网盘上了,有朋友说下载慢,我也没办法)
这个也可以用了
http://files.cnblogs.com/foundation/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,实现方式看本例
问:可以在工作流启动或运行环节中向流程传递数据吗?
答:可以,实现方式看本例
问:可以在工作流启动或运行环节中动态添加或删除节点吗?
答:可以,本例没的提供,对这方面感兴趣可以看我关于这方面的文章
目录说明
系统架构说明
项目说明
数据库说明
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
WinForm
ASP.NET
Silverlight
附一个测试例子
场景
流程
测试
本演示使用Silverlight客户端,其它客户端使用方式与本演示一样,同一流程可使用不同客户配合完成启动服务
发布流程
(1)001申请
(2)002驳回
(3)001再申请
(4)002同意
(5)003实施
状态表信息
相关文章推荐
- WF综合技术演示的例子
- 综合应用WPF/WCF/WF/LINQ之二十五:使用CustomControl技术编写一个翻页控件
- 综合应用WPF/WCF/WF/LINQ之二十四:使用UserControl技术编写一个翻页控件
- 一个有趣的关于flash和多种设备交互等技术应用的演示网站
- JAVA基于UDP的多点广播数据报技术的一个实现例子
- 一个HashMap和TreeSet综合使用的小例子
- DHTML技术综合演示---示例:表格创建2
- 下面的例子演示了100个线程同时向一个银行账户中存入1元钱,在没有使用同步机制和使用同步机制情况下的执行情况。
- 综合应用WPF/WCF/WF/LINQ之三十九:实现一个简单的DataGrid之获取某格的原始(或当前)行(或列)的Index
- jQuery/Ajax/PHP/Json 的一个综合例子
- 一个xdoclet技术,注释的例子
- 综合应用WPF/WCF/WF/LINQ之三十六:实现一个完全封装的SortableListView控件
- Rxjava(Subject)-一个综合例子
- 一个简单的DFS(深度优先搜索)算法加剪枝技术的程序演示
- JAVA基于UDP的多点广播数据报技术的一个实现例子
- 再发一个验证码程序,带演示图
- 一个采购条件技术的例子
- DHTML技术综合演示---示例:表格行间隔显示
- 综合应用WPF/WCF/WF/LINQ之四十:实现一个简单的DataGrid之CheckBox已勾选的项的保存
- BDC技术(一个例子)