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
}
相关推荐
这我可不懂3 天前
Vue.js 与低代码开发:在制造业中的创新应用
前端·vue.js·低代码
露临霜3 天前
低代码产品中插件的理解
低代码
露临霜3 天前
低代码系统-产品架构案例介绍、某PaaS(十四)
低代码·云原生·paas
CaptainDrake3 天前
React 低代码项目:网络请求与问卷基础实现
网络·react.js·低代码
有颜有货3 天前
低代码(Low Code)全解析:从概念到应用,从选择到价值
低代码·低代码平台
道一云黑板报3 天前
低代码表单引擎刷新机制
前端·后端·低代码·交互·用户界面·表单引擎
Mendix4 天前
相得益彰,Mendix AI connector 秒连DeepSeek ,实现研发制造域场景
低代码·ai·mendix·西门子低代码·软件开发·deepseek
低代码布道师4 天前
性格测评小程序07用户登录
低代码·小程序
这我可不懂4 天前
Vue.js 与低代码开发:如何实现快速应用构建
前端·vue.js·低代码