Entity Framework Core 錯誤:「在上一個操作完成之前,在此上下文上啟動了第二個操作」
在以下環境中使用Entity Framework Core 時在ASP.Net Core 2.0在專案中,您可能會遇到錯誤,指出「在上一個操作完成之前,在此上下文上開始了第二個操作」。即使程式碼在本地運行沒有問題,但在部署到登台伺服器時失敗,也可能會發生此錯誤。
可能的原因:
解:
將DbContext註冊為 Transient:
解決依賴導致的並發問題注入,將 DbContext 註冊為瞬態而不是作用域。使用以下程式碼:
services.AddTransient<MyContext>();
避免非同步 Lambda 表達式:
如果使用非同步操作,請重構程式碼以避免使用非同步 Lambda 表達式。
確保執行緒安全性:
了解 DbContext 實現的局限性,並透過順序執行操作或使用適當的同步機制來確保執行緒安全。
考慮其他因素:
以上是為什麼我的實體框架核心應用程式會拋出'在上一個操作完成之前在此上下文上啟動的第二個操作”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!