概述: 我是两年前申请的博客园。如今仍然记得很清楚,与现在的方式有点不同,当时注册也是要申请的,现在是注册不需要申请,而注册之后,开博需要申请。当时感觉有点新鲜,同样也感到欣慰,有如此敬业的管理员已经很少了。 其实,一个简单博客申请可以看成一个简单的工作流。它的流程图如下: 这篇文章中我将使用WF4.0去实现这个流程,这个非常的容易。 效果: 1、申请界面: 2、点击提交,提示等待审核,如下图: 用admin账户登陆到审核页面,进行审核。 收到申请成功的通知邮件,如下图: 实现: 这个例子很简单,先看数据库定义: 流程主表ApplyInfo,存储申请信息: 其他数据表 全部数据表如下图,你千万不要被这些表吓倒了,除了主表ApplyInfo之外,以ASPnet开头的是大家熟悉的membership中的数据表,其余的都是ms用于持久化的表,我们只要会用它就OK了: 定义流程: 我们分析一下这个流程,这里我只用了一个BookMark,用于持久化和暂停流程。 当博客园申请者,在提交申请之后和管理员审核之前,流程会暂停于WaitForInput<String>这个bookmark,并将流程持久化到MS定义的那些复杂的数据表中。 管理员登陆之后,提交审核,就会恢复这个BookMark。然后用一个IF活动判断管理员的审核结果,接着用自定义的UpdateApply活动更新数据表的状态,最后通过邮件通知申请人员。 总结:虽然这是一个很简单的审核流程,也是很完整的审核流程,很值得学习,:)。它包括了工作流的服务包括持久化服务等,功能包括审核、邮件通知等。 ps:请将SendMail活动中的邮件发送地址和邮件密码修改成自己的。 出处:http://zhuqil.cnblogs.com 本文示例源代码或素材下载 (责任编辑:admin) |