dotnet 8 使用sqlsugar的bug 返回
在使用仓储模式IOC注入中一直报错,错误信息随机出现
1. The connection does not support MultipleActiveResultSets
2. 连接已关闭
3. BeginExecuteReader requires an open and available Connection. The connection's current state is open
4. Unable to cast object of type 'Microsoft.Data.ProviderBase.DbConnectionClosedConnecting'
注入我用的 ISqlSugarClient,我有两个数据库

BaseRepository层的代码

Repository层具体类的代码
在这个代码中,一直随机报上面的错误。直到我添加上 .CopyNew(),之后再没有报错。

我的问题是,我在Swagger或者是Apifox中调试,不会报这种错误,当前端调用后,同时有多个请求过来,就会随机生成以上错误,这个我不太理解 。
另一个是按照官方的说法,是IOC或者 CopyNew 二选一即可,但是我在IOC注入后,还是不行,在添加 CopyNew 后,再解决这个问题。不知道是为什么

热忱回答(6)
-
疋疋 VIP0
2周前连接字符串加这个试试:
0 回复 -
fate sta VIP0
2周前这3个错都是线程安全问题,100%不是BUG
看文档:偶发
0 回复 -
落安 VIP0
2周前并不偶发,频率很高
0 回复 -
落安 VIP0
2周前@fate sta:并不偶发,频率很高
0 回复 -
小杰 VIP0
2周前这个错就是看文档:偶发
和频率没关系
(建议写demo测试,有疑问提供demo)
0 回复 -
小杰 VIP0
2周前原因就是同一个db出现并发,保证一个请求一个db,保证异步用法正确。异步有许多注意点。
0 回复