Camstar开发思考:如何在C#代码中控制事务

本文探讨了在Camstar开发中遇到的如何在C#代码中控制事务的问题。提出了两种解决方案:1) 自定义UserFunction,虽然理论上可行,但实际操作难度大;2) 使用预调用服务,通过模板方法模式和钩子方法在C#代码中决定事务的提交,实现了对事务的控制。
摘要由CSDN通过智能技术生成

目录

开发现状

开发问题

解决方案

1)自定义UserFunction

2)预调用服务

预调用服务方案设计与实现

代码设计

实现结果


开发现状

Camstar开发过程中,业务代码通常写在以下位置:

1)Web服务端(C#代码)

基于.NET的B/S框架,代码运行环境是IIS,因为直接使用Visual Studio即可编程,并且方便和UI做代码交互,因此很多业务代码都在此处编写。

2)Designer的CLF中

由Web服务端代码调用Camstar的WCF服务触发,在designer中,CLF代码全部执行完毕后才会调用Commit方法提交事务,写入数据库,如果发生异常则会回滚全部CLF代码,因此对于事务要求较高的业务代码,通常在Designer中编写。

开发问题

但是最近遇到需求,业务代码难以在designer的CLF中编写,并且又需要对事务做把控。于是产生问题:如何在C#代码中控制整个程序的事务。

解决方案

1)自定义UserFunction

该方案的开发过程主要是先编写C#代码自定义userfunction,然后将编译好的dll注入到Camstar中,之后在designer的clf

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值