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