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
}
相关推荐
Jeking2179 小时前
低代码平台 Docker一键部署实战:工程项目立项&竣工验收一体化管理系统
低代码·流程引擎·表单设计·流程设计·表单引擎·unione clouod
液态不合群9 小时前
卡死在生产流程?AI破解制造业数字化落地顽疾
网络·人工智能·低代码·重构
CIO_Alliance11 小时前
iPaaS概念原理(2)| iPaaS的架构模型是怎样的?
人工智能·低代码·架构·ipaas·系统集成
SL-staff2 天前
(十七)「JVS-Rules规则引擎 V2.5」— 决策流程调用
低代码·api·规则引擎·jvs-rules·jvs·决策流程调用·在线模拟测试
Jeking2172 天前
Docker 一键部署实战:快速搭建供应商准入评审数字化管理系统
低代码·流程引擎·表单设计·流程设计·表单引擎·unione cloud
搭贝2 天前
低代码平台构建EHS环境健康安全管理系统:从隐患排查到合规审计的全流程实操指南
安全·低代码
mpp0072 天前
特赞 Clipo idea 发布:AI 正在进入社媒内容的“投前决策”环节
低代码·ai编程·ai智能开发
搭贝4 天前
低代码EMS能源管理系统构建:架构设计与落地实践指南(附IoT数据采集与能耗分析代码)
物联网·低代码·能源
HUIBUR科技5 天前
2026 年上半年,软件开发领域的 7 个观察
低代码·数字化转型
踩着两条虫5 天前
可视化 vs 终端 vs 云端:VTJ.PRO、Claude Code、Codex 三强横评
前端·vue.js·人工智能·低代码·架构