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
}
相关推荐
首先要睡饱4 小时前
学习无极低代码的第1天
低代码
Spider_Man4 小时前
物料区的“超市大冒险”:组件、遥控器与快乐星球的奇遇记 🛒🦄
前端·低代码·typescript
zzywxc7877 小时前
深入探讨AI在测试领域的三大核心应用:自动化测试框架、智能缺陷检测和A/B测试优化,并通过代码示例、流程图和图表详细解析其实现原理和应用场景。
运维·人工智能·低代码·架构·自动化·流程图·ai编程
#六脉神剑16 小时前
接口请求的后台发起确认
低代码·设计模式·产品运营·mybuilder
NocoBase1 天前
8 款最适合搭建 CRM 的零代码工具推荐(开源 & SaaS)
低代码·开源·saas
百特搭1 天前
国产化低代码平台如何筑牢企业数字化安全底座
安全·低代码
植物系青年2 天前
可视化编辑 🔧 前端用“低代码”方式动态变更网页内容
前端·低代码
一只鹿鹿鹿4 天前
【网络安全】信息网络安全建设方案(WORD)
人工智能·安全·spring·web安全·低代码
希艾席帝恩4 天前
拥抱智慧物流时代:数字孪生技术的应用与前景
大数据·人工智能·低代码·数字化转型·业务系统
Codebee4 天前
OneCode 核心表达式技术深度剖析:从架构设计到动态扩展
低代码