WF4.0实战(四):博客申请流程

概述:

    我是两年前申请的博客园。如今仍然记得很清楚,与现在的方式有点不同,当时注册也是要申请的,现在是注册不需要申请,而注册之后,开博需要申请。当时感觉有点新鲜,同样也感到欣慰,有如此敬业的管理员已经很少了。

    其实,一个简单博客申请可以看成一个简单的工作流。它的流程图如下:

WF4.0实战(四):博客申请流程_第1张图片

这篇文章中我将使用WF4.0去实现这个流程,这个非常的容易。

效果:

1、申请界面:

WF4.0实战(四):博客申请流程_第2张图片

2、点击提交,提示等待审核,如下图:

WF4.0实战(四):博客申请流程_第3张图片

用admin账户登陆到审核页面,进行审核。

 

WF4.0实战(四):博客申请流程_第4张图片

收到申请成功的通知邮件,如下图:

WF4.0实战(四):博客申请流程_第5张图片

实现:

这个例子很简单,先看数据库定义:

流程主表ApplyInfo,存储申请信息:

WF4.0实战(四):博客申请流程_第6张图片

其他数据表

    全部数据表如下图,你千万不要被这些表吓倒了,除了主表ApplyInfo之外,以aspnet开头的是大家熟悉的membership中的数据表,其余的都是ms用于持久化的表,我们只要会用它就OK了:

WF4.0实战(四):博客申请流程_第7张图片

定义流程:

WF4.0实战(四):博客申请流程_第8张图片

    我们分析一下这个流程,这里我只用了一个BookMark,用于持久化和暂停流程。

    当博客园申请者,在提交申请之后和管理员审核之前,流程会暂停于WaitForInput<String>这个bookmark,并将流程持久化到MS定义的那些复杂的数据表中。

    管理员登陆之后,提交审核,就会恢复这个BookMark。然后用一个IF活动判断管理员的审核结果,接着用自定义的UpdateApply活动更新数据表的状态,最后通过邮件通知申请人员。

总结:虽然这是一个很简单的审核流程,也是很完整的审核流程,很值得学习,:)。它包括了工作流的服务包括持久化服务等,功能包括审核、邮件通知等。

ps:请将SendMail活动中的邮件发送地址和邮件密码修改成自己的。

代码下载:/Files/zhuqil/RequestWeb.rar


原文链接: http://www.cnblogs.com/zhuqil/archive/2010/04/19/blogapply.html

你可能感兴趣的:(WF4.0实战(四):博客申请流程)