1、winform(web程序)下使用工作流

怎样才能像控制台那样让winform或web页面窗体阻塞等待工作流的继续执行呢

2、BookMark书签

书签:和一般的书签看书的时候方便查看上次看的内容,工作流中的书签意思是让工作流停顿下来,等待用户在当前状态继续操作。

3、书签的制作

在项目中点击右键→添加新建项→代码活动。名称为BookMarkCodeActivity.cs//代码活动的一个基类是CodeActivity

下面的代码是创建出来的一个代码活动

namespace EazyBPMS.WorkFlow
{ public sealed class ceshi : CodeActivity
{
// 定义一个字符串类型的活动输入参数
public InArgument<string> Text { get; set; } // 如果活动返回值,则从 CodeActivity<TResult>
// 并从 Execute 方法返回该值。
protected override void Execute(CodeActivityContext context)
{
// 获取 Text 输入参数的运行时值
string text = context.GetValue(this.Text);
}
}
}

但是如果是做为书签使用必须做以下修改

//1、改基类将CodeActivity 改为NativeActivity
//2、重写属性CanInduceIdle
//3、修改传入参数CodeActivityContext修改为NativeActivityContext
//4、创建书签

namespace EazyBPMS.WorkFlow
{
//1、改基类将CodeActivity 改为NativeActivity
//2、重写属性CanInduceIdle
//3、修改传入参数CodeActivityContext修改为NativeActivityContext
//4、创建书签
public sealed class WaitInputDataActivity<T> : NativeActivity
{//这个属性的意思是是否允许工作流空闲/停顿下来
protected override bool CanInduceIdle
{
get
{
return true;
}
}
// 定义一个字符串类型的活动输入参数
public InOutArgument<string> BookMarkName { get; set; }
public OutArgument<T> OutResult { get; set; } // 如果活动返回值,则从 CodeActivity<TResult>
// 并从 Execute 方法返回该值。
protected override void Execute(NativeActivityContext context)
{
// 获取 BookMarkName 输入参数的运行时值
string text = context.GetValue(this.BookMarkName);

context.CreateBookmark(text, new BookmarkCallback(MyCallback));
}
//把传过来的数据value作为输出参数outResult的值 传到书签外面
private void MyCallback(NativeActivityContext context, Bookmark bookmark, object value)
{
var data = value as BaseResumeBookMarkValue;
if (data != null)
{
context.SetValue(OutResult, (T)data.value);
context.SetValue(BookMarkName, data.BookMarkName);
} }
}
}

最新文章

  1. mac 下设置jdk 路径,设置hadoop 路径
  2. POJ2778 DNA sequence
  3. 从零开始系列--R语言基础学习笔记之一 环境搭建
  4. JSP自定义标签之Hello Costom tag小例子
  5. 微课程--Android--基础控件的使用
  6. Codeforces 443 B Kolya and Tandem Repeat【暴力】
  7. Codeforces Round #260 (Div. 1) D. Serega and Fun 分块
  8. 项目源码--Android应用商店源码
  9. HW6.16
  10. 使用最新的log4cplus(1.1.1)隔离不同的 log 文件输出
  11. FZU 1627 Revival&#39;s road
  12. linux下apache,php的安装
  13. parse_str 与 http_build_query的使用
  14. 爬虫入门(三)——动态网页爬取:爬取pexel上的图片
  15. 洛谷.5284.[十二省联考2019]字符串问题(后缀自动机 拓扑 DP)
  16. @ResponseBody注解
  17. openresty redis all in one docker demo
  18. WPF 杂谈——开篇简言
  19. 【dfs】BZOJ1703-[Usaco2007 Mar]Ranking the Cows 奶牛排名
  20. blktrace未公开选项网络保存截取数据

热门文章

  1. 解决Eclipse的Team菜单中没有SVN选项的问题
  2. 学院名单-211院校研招学院-中国教育在线(www.eol.cn)170915164402
  3. vue表单输入的绑定
  4. Swift来了,是不是能够入手IOS开发了?
  5. cocos2d-x3.6 生成带类图的离线文档
  6. ThinkPHP5.0 用docker部署
  7. PHP eval函数使用介绍
  8. Linux:进程管理
  9. python作用域和js作用域的比较
  10. 剑指offer之 数组中出现次数超过一半的数字