先按步骤1改,如果还无效就看步骤2
SqlSugarScope线程安全对象可能避免大多数的线程安问问题
1、SqlSugarClient换成SqlSugarScope (SqlSugarScope 要用单例不然内存会增加)
2、多租户: db.GetConnection 换成 db.GetConnectionScope(Aop也要统一不然事件注册不了)
3、IsAutoCloseConnection=true 需要设置true
重点:SqlSugarScope一定要用单例
如果按步骤1改了还报错那么肯定就下面3种情况:
1、异步方法不写await 需要db替换成db.CopyNew() ,不想加CopyNew就需要排查是否有漏掉await
2、Task.WhenAll必须要用Task.Run(async=>await 异步方法 ) 必须用Task.Run包一下(CopyNew也行)
3、表达式中用异步 注意 Action的表达式禁止用异步 ,需要是 Func<Task>这种类型的才能用异步
2016 © donet5.comApache Licence 2.0