记录一个 ASP.NET SqlSugar 奇怪的 BUG
在项目中做了以下逻辑操作:
- AOP 开启事务
- 执行了两个 Update 操作,并且都用了 await 进行等待,但是结果直接赋值给 _ 舍弃
- AOP 提交事务
在不知道什么情况下,以上操作会出现异常,AOP 提交事务时会报 "This SqlTransaction has completed; it is no longer usable" 错误,并且出现此问题后再次执行操作仍然会报这个异常
可是一旦尝试进行断点调试、或者在提交之前进行等待、或者尝试通过 Console.Write() 输出 Update 操作的结果,都会使得问题消失,并且之后无论怎么操作都不会再报异常,直到某段时间后又会出现这个问题
猜测是 await 突然就失效了,使得在提交事务时,Update 操作还未完成,因此只要稍微进行等待就会使得 Update 操作完成于提交操作之前
posted on 2024-05-15 17:18 HutatsuiwaKaede 阅读(120) 评论(1) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?