asp.net中的报销多级审批工作流中调用WCF

这一篇我把WF中有关数据处理的操作完全交给WCF处理,WF只关心流程的设计处理,至于底层数据如何操 作并不需要关心。这在很大程序上减少了应用程序之间的耦合度。

SendActivity:客户端活动,用于模拟 WCF 服务操作的同步调用。

在WF中可以利用SendActivity完成对WCF的调用,不需要用传统的方式,先生成一个WCF代码,然后调 用相应的方法。在项目中我们触发外部事件是靠"HandleExternalEvent activity",在事件中写相关的业 务逻辑代码,觉的耦合度高了点,因为WF不光要设计工作流,而且需要和数据库打交道。

解决方案:在HandleExternalEvent activity后面加上一个SendActivity,此时HandleExternalEvent 的事件的唯一作用就是给SendActivity参数赋值。由于项目中的状态比较多,我展示员工状态的活动图:

 

SendActivity属性设置:

1:ChannelToken:SendActivity 在建立其自身与客户端通道之间的关联时所使用的 ChannelToken。

2:Name:获取或设置此实例的名称。此名称必须符合工作流项目中使用的编程语言的变量命名规则。

3:EndpointName : 用于与服务通信的Endpoint 。

4:ServiceOperationInfo:WCF服务接口。

5:OwnerActivityName :关联的 Activity 的名称 。

6:Parameters:方法中的参数。这个参数需要后台代码支持,这里分为两步:

时间: 2025-01-26 17:12:53

asp.net中的报销多级审批工作流中调用WCF的相关文章

asp.net中的报销多级审批工作流 (状态机版本)

上篇asp.net中的报销多级审批工作流 ,提到参考了网上一个具体的项目,项目中用状态机工作流完成, 基于学习的原因,我采用顺序工作流,事件驱动方式实现了同样的功能.后来学习到了状态机,觉的状态机 实现也特别方便. 下面我分享下状态机工作流中几个主要的活动. 顺序工作流与状态机工作流的区别: 顺序工作流是一种可以预测,流程比较固定,而状态机工作流不可预测,主要靠外部事件驱动来实现 ,对外的交互比较多,系统的状态需要外部事件的触发来改变. 状态机工作流活动图:

asp.net中的报销多级审批工作流项目加上跟踪服务

这篇我来为asp.net中的报销多级审批工作流项目加上跟踪服务. SqlTrackingService 类表示一个功能完全的跟踪服务.使用此服务可以收集和存储跟踪信息,还可以 存储跟踪配置文件,并在工作流运行时引擎请求时提供这些配置文件.SQL 跟踪服务将运行时跟踪基础结 构发送给它的跟踪数据写入到 SQL 数据库.在许多情况下,对于 SqlTrackingService 服务来说,保持 其数据库和工作流运行时引擎状态之间的一致性十分重要.因此,SqlTrackingService 类实现了 I

asp.net中的报销多级审批工作流

最近正在学习工作流,正好从网上搜索到一个Asp.net工作流(WWF+LINQ)的例子,之前学习MOSS时接触 过工作流,不过那是针对MOSS的工作流,我一直从事B/S架构开发,知道工作流可用于很多环境,其中就包含 asp.net,这让我非常想做一个这样的实例.看了它的源码,大部分都觉的非常不错,不过也有些个人认为 不太满意的地方,这可能是因为作者考虑到只是一个简单的demo,没有必要注意一些非技术方面的细节问 题. 项目介绍:一个报销二级审批工作流,数据层操作采用LINQ TO SQL,虽然M

怎样在SharePoint 2013中实现多级审批工作流

审批工作流介绍 这个Demo是基于多级审批工作流.以古代上传奏折为场景,共分为3个阶段.当创建者上传奏折时,首先会由对应的上级领导审批,审批通过,交付对应的下一级,审批拒绝时,则整个流程结束,具体的官阶信息如下所示: 然后,我们预先设定,以文档库来作为我们的上报奏折库,所以我们需要为其设定自定义的多级审批工作流.最后创建自定义的Task来存放待审批的任务. 创建多级审批工作流 首先,我们可以创建多个审批Stage(阶段),每一阶段处理不同的流程,如下所示: 接着,在Starting Stage,

SharePoint 2010工作流解决方案之向工作流中添加应用程序页

向工作流中添加应用程序页 修改工作流代码 首先,向工作流中添加一行代码,以将"Outcome"(结果)列的值设置为零报销单上显示的金额. 以后会在报销单汇总计算中用到此值. 设置工作流中的"Outcome"(结果)列的值 1.将在SharePoint 2010 工作流解决方案:创建带有关联窗体和启动窗体的工作流 主题中完成的项目加载到 Visual Studio. 2.打开 Workflow1.cs 代码 3.将以下代码添加到 createTask1_MethodI

javascript状态机及在工作流中的应用

状态机 什么叫状态机(Finite State Machine),书面上的解释可以自己借助搜索引擎寻找到.通俗地来讲是一个状态定义.查找.切换和事件派发等一系列的代码的集合.与之对应的设计模式叫状态机模式,常用于游戏编程,而在工作流的应用中也会用到. 在工作流中,我们经常会有一系列的步骤:步骤1.步骤2.步骤3.步骤4.我们首先需要定义出这些步骤,再定义这些步骤切换的条件,在客户端的话,一般是某些条件验证通过,可以是字段,也可以是一些接口,还有就是前一个步骤的完成情况. 工作流 我们要完成一项较

退货采购订单多级审批用增强的解决办法

1.使用增强M06E0004      为发放采购凭证改变通讯结构FUNCTION   EXIT_SAPLEBND_002PROGRAM   zxm06u22根据审批策略,修改i_cekko-usrc1.usrc1 批准策略的用户字段的格式字符 01.02.03就是标准审批策略中的"批准组"01 2 Z_PO 采购管理部总经理审批02 2 Z_PO 运营经理审批03 2 Z_PO 采购与计划管理部经理审批 代码*& Creat on 2011.09.09*& ZRE P

Asp.net制作的网页在平板电脑中运行,如何使调出软键盘后使其覆盖到页面上

问题描述 Asp.net制作的网页在平板电脑中运行,如何使调出软键盘后使其覆盖到页面上 把网页在平板中运行后,当我点击文本框的时候,平板中自动调出了软键盘,但把我的页面的挤在了上面,我想让软键盘只是覆盖在页面上,网页形状不变,麻烦各位大神啦,最好有代码,谢谢 解决方案 这个是浏览器和平板操作系统的行为,改不了.变通的办法是抑制默认的键盘弹出,用你的网页自己模拟一个软键盘 解决方案二: onfocus事件中直接写blur就可以隐藏了..http://stackoverflow.com/questi

ASP.NET技巧:一个在移动设备中获取路径的方法

asp.net|技巧 一个在移动设备中获取路径的常用方法:public string GetFileName(){  return System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase),"filename");}      在移动设备开发中,路径都使用绝对路径.System.IO.Path.G