记录一个 ASP.NET SqlSugar 奇怪的 BUG

在项目中做了以下逻辑操作:

  1. AOP 开启事务
  2. 执行了两个 Update 操作,并且都用了 await 进行等待,但是结果直接赋值给 _ 舍弃
  3. AOP 提交事务

在不知道什么情况下,以上操作会出现异常,AOP 提交事务时会报 "This SqlTransaction has completed; it is no longer usable" 错误,并且出现此问题后再次执行操作仍然会报这个异常

可是一旦尝试进行断点调试、或者在提交之前进行等待、或者尝试通过 Console.Write() 输出 Update 操作的结果,都会使得问题消失,并且之后无论怎么操作都不会再报异常,直到某段时间后又会出现这个问题

猜测是 await 突然就失效了,使得在提交事务时,Update 操作还未完成,因此只要稍微进行等待就会使得 Update 操作完成于提交操作之前

posted on   HutatsuiwaKaede  阅读(120)  评论(1编辑  收藏  举报

相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示