Task 单例List<实体> 异常 返回
SqlSugar
处理完成
3
252
蚂蚁佣兵守 发布于2024/7/31
悬赏:0 飞吻
方法里面 用的是单例 都是 await 数据库返回 list<实体>
外层 for循环调用 方法
提示 :System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
系统。InvalidOperationException:集合已被修改;枚举操作可能无法执行。
线程下 是不是 单例 返回的 list<实体> 引用地址是同一个,导致了 方法里面的 List在被多个线程修改;
单独运行1次是没有问题的,但是多个同时任务就会发生集合被修改;
求助,把单例改成每个都实例化,还是有什么可以解决
热忱回答(3)
-
蚂蚁佣兵守 VIP02024/7/31
已发现问题,已经解决;
异步方法里面嵌入了 .ForEach( async vs=>{ vs.ForEach( async vs1 xxxx }) 导致
仅供参考 ForEach 异步里面 不要再嵌套 ForEach 异步
0 回复 -
蚂蚁佣兵守 VIP02024/7/31
不好控制结束,导致后部分代码已经前置执行
0 回复 -
fate sta VIP02024/8/10 回复