List.ForEach批量新增并发异常解决


批量新增操作在业务系统中十分常见,尤其是主从表中对从表的批量处理。昨天在对wms主从表进行业务操作时使用了c#中list自带的函数ForEach对从表批量新增,代码如下:

 在无并发的情况下接口请求正常

 并发测试时.net core host 程序被意外终止:

 测试结果表示第一次请求成功,第2、3次请求失败导致程序终止。查看日志如下:

 日志表明时ef core执行期间出了问题,查找解决方案如下:

 再次并发执行结果:

 虽然大部分执行成功但任有失败的概率,再次查看失败日志如下:

 解决

弃用list自带的ForEach函数,改用foreach:

 200并发测试:

 并发请求全部成功,数据库三种从表条目一致:

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM