.net – Windows工作流 – PersistableIdle
在我们公司,我们有一个业务流程需要:
>从X获取数据 在研究这个问题时,似乎有一些选项可以在工作流程中实现这一点. >在步骤1(工作流程活动)和步骤3(工作流程活动)之间添加延迟活动.然后在PersistableIdle事件期间,卸载worklow.当用户完成步骤2时,从数据库重新加载工作流程. 是否有更好的approch(1,2或另一种选择)? 我们所有的其他活动都是AsyncCodeActivities,所以我很确定它们不会触发PersistableIdle事件(因为它们处于无持久区域),但我想确保在其他情况下不会意外卸载工作流.这里有风险吗?反正有没有创建一个强制工作流卸载的活动? 解决方法
乍一看,#2听起来很有必要.使用书签(或某种书签活动,如接收)的原因是它们可以随时恢复.这允许用户Y的研究结束,并且工作流程可以随时恢复执行(而不是在延迟到期之前被阻止). #1可能也是必要的反驳是,您可能希望设置触发工作流操作的时间限制(提醒被触发,例外,取消等). 怎么决定?我认为答案通常是#3:两者 使用Pick Activity是一种很好的方法.在一个PickBranch触发器中使用书签活动,在另一个PickBranch触发器中使用延迟活动,您可以编写一个工作流程,该工作流程将“处理先发生者 – 用户Y或超时”. 您提出的第二个问题是“当我不希望工作流程被卸载时,如何停止卸载工作流程?”是否意外的工作流程正在卸载风险? 嗯,这取决于.如果您正在使用WorkflowServiceHost,那么卸载工作流并不会带来很大的风险,因为WorfklowServiceHost足够智能,可以在需要做更多工作(处理传入消息或从延迟恢复)时重新加载工作流. 如果您没有使用WorkflowServiceHost,您可能正在编写主机,您可以通过某些工作获得相同的效果,或者您可以阻止卸载发生 – 当您编写主机时,您可以通过事件控制卸载策略在WorkflowApplication上 其他杂项: – 没有’卸载’活动,但有一个’持久’活动.工作流可以说他们想要保存进度,但只有主机才能在卸载发生时做出最终决定. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows7下PHP开发环境安装配置图文方法
- windows-server-2008 – 为计算机组的AD用户组授予本地管理
- 字体 – Windows字体明确地消除字母O中的零号ZERO
- .Net Windows Services和InstallState文件 – 真的需要吗?
- 对于在Windows Server 2008(sp1)上运行的Delphi应用程序,内
- windows-server-2012-r2-TLS 1.2 Windows Server 2012 R2中
- windows-server-2003 – 断电后MySQL InnoDB腐败,有可能恢复
- windows-server-2008-r2 – 我可以直接将2003(不是R2)adpre
- 适用于Windows的良好c / c编译器
- x11 – 如果我在远程服务器中安装更好的视频卡,远程X-Windo
- 我可以检测到Windows PC上的视频显示是否在c#中启
- windows服务 – Mongodb,分片和多窗口服务
- windows – 如何检查文件/目录在批处理脚本中是否
- windows-server-2008-r2 – 2008 R2 DC拒绝与外部
- windows的navicat连接linux的数据库
- winapi – 为什么Windows在WM_CLOSE期间吞掉异常
- Windows Vista 64位的命令行subversion客户端
- windows api(GDI)实现图片旋转
- 让GeoDjango Spatialite在Windows上运行
- 通过其pIDL识别Windows Shell特殊文件夹(即获取其