自定义工作流

  WWF提供了对原有活动进行扩展以及自定义新活动的功能,用户可以通过"Workflow Activity Library"创建和开发自定义活动。

  

一、自定义活动类型

  默认情况下,创建的自定义活动是继承"System.Workflow.Activities.SequenceActivity"父类的。该类型自定义活动的外观是由一个Sequence顺序类型的容器构成的,用户可以在Sequence活动内添加其他子活动。

  

  代码如下:

namespace ActivityLibrary1
{
    public partial class Activity1: SequenceActivity
    {
        public Activity1()
        {
            InitializeComponent();
        }
    }
}

  如果用户想创建一个特殊的补偿类型的自定义活动,那么可以通过继承"System.Workflow.ComponentModel.CompositeActivity"父类来实现。

    public partial class Activity1 : CompositeActivity
    {
        public Activity1()
        {
            InitializeComponent();
        }
    }

  该类型的自定义活动外观如下图:

  

  如果用户想在CallExternalMethod活动基础上封装一些额外的功能,那么可以通过继承"System.Workflow.Activities.CallExternalMethodActivity"父类来实现。

  

  

  如果用户想在HandleExternalEvent活动基础上封装一些额外的功能,那么可以通过继承"System.Workflow.Activities.HandleExternalEventActivity"父类来实现。

  

  用户可以通过继承"System.Workflow.ComponentModel.Activity"父类来自定义一个"ComponentModelActivity"类型的自定义活动。它与"SequenceActivity"类型自定义活动是日常工作中最常使用的两种类型的自定义活动,它与"SequenceActivity"类型自定义活动的区别是用户不能在其内部添加任何子活动。

  

  利用WWF开发出来的自定义活动使用起来也非常简单,在同一个解决方案下开发的自定义活动,只要编译成功后就可以在"工具栏"中看到并可以直接使用。

  在WWF中可以通过"DependencyProperty"来存储和管理自定义活动的属性。

  首先定义一个"DependencyProperty"属性并且利用它的"Register"方法进行注册。在注册时需要指明该"Dependency Property"属性所存储的"属性名称"、"属性的类型"、以及该属性"所在自定义活动的名称",还可以利用"PropertyMetadata"来为属性定义默认值。

时间: 2024-10-12 16:48:01

自定义工作流的相关文章

【课程分享】基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构、自定义工作流)

课程讲师:张弘 课程分类:Java 适合人群:中级 课时数量:37课时 用到技术:Spring 3+JDBC+RMI的架构.jquery.工作流 涉及项目:项目管理系统 更新程度:完成 QQ  1269532055 本课程是某航空研究所的真正项目的缩影.实际项目价值217万,在课程中,将实际项目的业务进行了缩减,但是主要的技术点全部都讲解到了.课程内容虽然不多,但是麻雀虽小五脏俱全,通过学习本课程,可以掌握到企业信息化办公系统的主要开发方法和设计思路,并且学习强大的自定义工作流中间件的内容,掌握

Dynamics CRM 远程调试自定义工作流活动

据我所知,Dynamics CRM工作流的调试方式有几种: Throw抛出异常错误 使用TracingService 服务器附加进程调试 对于插件有PluginProflier 以上几中方式各有优缺点. 抛出异常错误:快速查看少量对象值,对于多个对象或调试条件分支,需要不断地试错. 使用TracingService:可记录执行过程,需要开启日志监控,不能即时跟踪对象. 服务器附加进程:可即时跟踪对象,需要服务器权限并登录服务器. 下面记录下使用本地远程调试的过程 工具准备: Visual Stu

服务端CVS本地Git的版本控制:利用git钩子自定义工作流

请以解决问题为核心,不要为了用技术而用技术. 公司各个项目有CVS.SVN.HG.Git等多版本管理工具. 但CVS确实太老了,十分不便,由于历史原因公司的部分旧代码还都是用CVS来管理,恰恰是我目前在用的- -|||.但是我们可以在本地使用Git来方便代码的管理.因为Git作为分布式版本管理系统,本身local端就是完备的. 如果是用SVN.HG等版本控制系统,有git-svn等解决方案可以不改变服务端而非常方便的在本地用git,但CVS并没有找到现成的方法-,可能确实太老了吧! 最近终于想到

解析大型.NET ERP系统核心组件 查询设计器 报表设计器 窗体设计器 工作流设计器 任务计划设计器

企业管理软件包含一些公共的组件,这些基础的组件在每个新项目立项阶段就必须考虑.核心的稳定不变功能,方便系统开发与维护,也为系统二次开发提供了诸多便利.比如通用权限管理系统,通用附件管理,通用查询等组件,若是在项目开发前就准备好了这些组件,为项目如期交付提供了保证. 查询设计器 Query Designer  支持选择一个或多个数据库表,通过左右连接的方式构建查询结果,支持直接手写SQL语句设计查询,支持调用存储过程查询,支持用代码设计查询. 报表设计器 Report Designer 支持配置的

基于标签方式的工作流启动及任务执行开发说明

基于现在的系统的整合需求,本系统提供基于标签的工作流整合方式,工作流的启动及执行下一步时,均需要通过可以通过标识来处理完成.这使得基于JSP方式的流程整合变得很简单. 自定义工作流启动 系统提供启动参数,只需要提交至/flow/startProcessActivity.do,提交的参数包括以下:(可以参考ProcessRunStart.js的) defId: 必需,流程定义Id,即pro_definition表里的主键 startFlow: 必需,值为true,则表示启动流程   必填 dest

SharePoint表单和工作流 - Nintex篇(四)

接上篇点击打开链接 "Manage workflow constants" 管理工作流常量.这里可以管理工作流中用到的常量,即可以定义一些常量应用到我们的工作流中.创建的时候可以选择字符串明文.密文.日期.用户名密码和数字类型. 这里的Scope显示的是Site,如果跳转到网站集的工作流常量,则会显示成Site Collection,和URL的Scope参数值可能会产生混淆,需要注意一下. "Manage Holidays" 管理假期.这里显示的是此网站的假期列表,

.net工作流引擎ccflow开发平台属性功能的隐藏显示介绍

关键字: 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明  工作流设计 工作流快速开发平台   业务流程管理   bpm工作流系统  java工作流主流框架  自定义工作流引擎 应用背景: 驰骋工作流系统大大小小的功能高达2000多项,所以不是多有的功能都能被企业所使用的,为了系统的简介他们需要隐藏一些暂时用不到的功能,但是一段时间后可能就需要某些原来隐藏掉的功能,所以单纯的从代码里隐藏是不够理想的,这时候就需要做一个同意管理的功能来自由处

Java工作流系统-CCBPM如何自动升级?

关键词:工作流快速开发平台  工作流流设计  业务流程管理   asp.net 开源工作流  bpm工作流系统  java工作流主流框架  自定义工作流引擎驰骋工作流引擎ccflow和jflow的升级步骤: CCBPM把更新分成三类, 应用程序代码更新.数据表结构更新.数据更新. CCBPM在您登录流程设计器时自动判断当前的版本与数据库版本是否一致,不一致它就会自动启用更新程序,把代码与数据库更新到一致的版本. 我们会保持2年更新,就是说您两年以前使用CCBPM, 一直没有更新,如果您下载了cc

Java工作流引擎-中间件模式代码集成

关键词:工作流快速开发平台  工作流流设计  业务流程管理   asp.net 开源工作流  bpm工作流系统  java工作流主流框架  自定义工作流引擎 表单设计器  流程设计器 前端代码集成步骤: 驰骋BPM的代码集成分为,前端代码集成与后端代码集成. 前端代码有两个目录分别是 /DataUser   /WF .  前端代码集成就是需要把这两个目录放入到您的开发架构里面去,就完成了前端代码集成了. DataUser的数据文件是可以修改的,这两个的目录的文件结构请参考上面章节的说明. 后端代