.NetCore中事务没有正常完成

1. 示例代码

cs 复制代码
async Task<string> FunCode()
{
    //业务代码

    using var trans = TransactionHelper.GetTransactionScope();
            
    //插入表A,A中有Name字段
    await 数据库操作1;
    await 数据库操作2;    

    trans.Complete();

    //调用其他系统接口
    await ERP.SendContent();
}

2. 代码描述

核心代码在于一个用using包起来的事务操作,后面加了一个接口调用的功能

3. 场景描述

在MES系统触发FunCode()方法时,先执行数据库操作,在执行调用ERP接口,ERP接口会立马回复,并传递A表中的Name作为参数调用MES系统另外一个接口CheckNameApi,该接口会根据Name字段来判断表中是否存在记录。

4. 异常描述

CheckNameApi中的在根据Name在A表中查数据时,无法查到。但是人为直接在数据库中是能查到的。且在对比表A插入的时间,和CheckNameApi接口调用的时间,有相差3秒。

5. 解决方案

trans.Complete();后面加上一句 trans.Dispose();

cs 复制代码
 trans.Complete();
 trans.Dispose();

6. 具体原因

母鸡。。。

相关推荐
开开心心就好2 天前
近200个工具的电脑故障修复合集
安全·智能手机·pdf·电脑·consul·memcache·1024程序员节
数据皮皮侠AI4 天前
中国城市可再生能源数据集(2005-2021)|顶刊 Sci Data 11 种能源面板
大数据·人工智能·笔记·能源·1024程序员节
计算机毕业论文辅导7 天前
物联网实战:基于MQTT协议的智能家居数据传输系统设计与实现
1024程序员节
开开心心就好7 天前
支持批量处理的视频分割工具推荐
安全·智能手机·rust·pdf·电脑·1024程序员节·lavarel
liuyao_xianhui9 天前
Linux开发工具结尾 _make
linux·运维·服务器·数据结构·哈希算法·宽度优先·1024程序员节
学传打活11 天前
【边打字.边学昆仑正义文化】_21_爱的结晶(1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
数据皮皮侠AI18 天前
顶刊同款!中国地级市风灾风险与损失数据集(2000-2022)|灾害 / 环境 / 经济研究必备
大数据·人工智能·笔记·能源·1024程序员节
Fab1an19 天前
Busqueda——Hack The Box 靶机
linux·服务器·学习·1024程序员节
技术专家19 天前
Stable Diffusion系列的详细讨论 / Detailed Discussion of the Stable Diffusion Series
人工智能·python·算法·推荐算法·1024程序员节
学传打活22 天前
古代汉语是源,现代汉语是流,源与流一脉相承。
微信公众平台·1024程序员节·汉字·中华文化