AStar低代码平台RpcServiceBase的应用:客户端事务管理

由于AStar平台是基于RPC协议与AStar后端服务进行通讯,而又非常接近常规BS的编码方式,直接写SQL即可对数据库进行操作,那么如果有若干个访问需要在同一事务中进行的,如何处理?比如先生成临时表,再对临时表进行若干统计输出多个结束集。

下面是个例子:

csharp 复制代码
String trxId = await RpcService.Lock(Session.Account); //先根据账套锁定返回交易id
try
{
   await RpcService.BeginTrans(trxId);  //开始事务
   try
   {
      await dbf10(sql_rpt_m1_create_tm, parm, trxId); //所有rpc远程访问都基于这个交易trxId
      await RpcService.Query("select * from zb_", parm, dataSetd.Tables["rpt_sum_1_tm"], true, trxId: trxId);
      await RpcService.Query(sql_rpt_m1_td, parm, dataSetd.Tables["rpt_sum_1_td"], true, trxId: trxId);
   }
   finally
   {
      await RpcService.Rollback(trxId); //因为这是报表,所以回滚即可,如果是更新操作,要用RpcService.Commit
   }
}
finally
{
   await RpcService.Release(trxId); //最后要释放这个交易id
}
相关推荐
希艾席帝恩2 天前
数字孪生赋能智慧物流:物流行业转型升级新路径
大数据·人工智能·低代码·ai·数字化转型
iori97king2 天前
告别混乱 Excel:用数据表建立客户管理模型
低代码·数据建模
ebok.2 天前
AI与低代码:京微智枢平台如何重塑企业应用开发
人工智能·低代码
希艾席帝恩3 天前
生产车间智能升级背后,数字孪生发挥了什么作用
大数据·低代码·私有化部署·低代码平台·数字化转型
搭贝低代码3 天前
设备管理系统迁移改造:从手工台账到二维码数字化的实践路径
java·低代码·搭贝
搭贝低代码3 天前
财务管控系统架构设计:从Excel到数字化管控平台的技术跃迁
低代码·系统架构·excel
缓慢更新4 天前
低代码CRM系统架构设计:从数据层到表现层的完整技术方案
低代码·系统架构·rxjava
亲爱的马哥4 天前
Vue3 + Element Plus 低代码表单设计器架构拆解与私有化落地实践
低代码·架构·敏捷流程
搭贝5 天前
企业智能知识库搭建实战:搭贝低代码平台实现AI知识管理系统
人工智能·低代码
全局牵引6 天前
连锁门店库存+会员系统:一个人怎么管8家店
低代码