.net core的一個錯誤
發生了一個例外。系統。InvalidOperationException:在前一個操作完成之前,在此背景關系中啟動第二個操作。這通常是由使用相同DbContext實體的不同執行緒引起的。
求大神怎么解決這種問題
uj5u.com熱心網友回復:
額,報錯說的很明白哦。只是原因,我們說不清,你一行代碼木有,我們不知道你入的是博客園坑系列的那個坑
1.全域靜態?
2.10年前的倉儲??
3.最近的ABP
4.這兩天的 services.AddSingleton()
5,還是using dbcontext
{
兩執行緒?
一個time??
}
uj5u.com熱心網友回復:
FromServices 注入單例DbContext??uj5u.com熱心網友回復:
如果你使用那種 context,就使用單一的(接受客戶端請求操作的)執行緒處理,不要用“子執行緒”還來呼叫不該調的物件。uj5u.com熱心網友回復:
另外,不要動不動就說“.net core 的一個錯誤”。先有個基本的概念是你自己的程式還是 .net 的錯?uj5u.com熱心網友回復:
1、你使用多執行緒了嗎?2、如果是的,那么你使用全域context了嗎?如果是的,那這是不對的。
使用全域context是初學者常常容易犯的錯誤
uj5u.com熱心網友回復:
微軟官方的解決方案,雖然有點傻,但聊勝于無:Handling Concurrency Conflicts - EF Core | Microsoft Docs
https://docs.microsoft.com/en-us/ef/core/saving/concurrency
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/224666.html
標籤:ASP.NET
