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
}
相关推荐
云捷配低代码6 小时前
低代码库存管理系统实战:实现库存预警、出入库自动化管理
运维·低代码·自动化·数字化·敏捷流程·数字化转型
踩着两条虫8 小时前
目录:VTJ.PRO 在线应用开发平台技术揭秘
vue.js·低代码·ai编程
昵称暂无12 天前
低代码平台深度测评:OutSystems vs Mendix谁更胜一筹
开发语言·低代码
Java小卷2 天前
FormKit源码二开 - 校验功能扩展
前端·低代码
老刘说AI2 天前
Dify:从入门到精通
人工智能·python·神经网络·低代码·ai作画·开源软件
Walk in loosing2 天前
信创不再遥远
安全·低代码·健康医疗·政务
百数平台2 天前
数据可视化的双重视角:百数平台层级视图、甘特图全解析
低代码·管理系统
停止重构2 天前
我大概也是软件工程的专家
低代码·软件工程·规范·开源框架·自研开发语言
麦聪聊数据2 天前
企业数据流通与敏捷API交付实战(六):内部API门户与自助分发机制
数据库·低代码·restful·etl
HEADKON2 天前
阿那格雷治疗高风险真性红细胞增多症相关血小板增多,降低血栓事件风险
低代码