在過去的幾天裏不同的連接問題,我們正在錄製由實體框架(第6版)在我們的現場舞臺拋出不同的異常,它只是偶爾出現,並顯示錯誤消息,這都涉及到數據庫連接。實體框架:發生偶爾
不允許改變 '的ConnectionString' 屬性。連接的當前狀態將關閉。被創建的模型而
上下文不能被使用。如果上下文中所使用的 OnModelCreating方法內,或者如果相同的上下文實例由 多個線程同時訪問這 可能會引發異常。請注意,DbContext 和相關類的實例成員不保證是線程安全的。
意外的連接狀態。使用包裝提供程序時,確保 StateChange事件在包裝的DbConnection上實現。
底層提供對打開失敗。
我們不能記住,我們已經改變任何東西,前面已經說了發生這些錯誤只是偶爾。我們不能在當地舞臺上覆制它們。
有沒有人有一個想法是什麼問題或如何調查?
編輯:它是一個ASP.NET MVC 5應用程序,它使用Unity IoC進行實例化。我們使用自行編寫的PerRequestLifeTimeManager,它在其他mvc應用程序中運行絕對平滑。
所有步驟,你能共享的代碼?您是否能夠識別彈出錯誤的任何模式或用例?你有沒有任何應用程序日誌可以告訴哪一行代碼引發異常? –
我很確定你是以錯誤的方式使用上下文。可能作爲靜態成員,但肯定可以通過多線程訪問。重構時間! –
沒有代碼就說不出來。不過,我傾向於同意@GertArnold。每個請求應該只有一個上下文實例。如果你正在爲每個請求創建多個實例,或者相反地,靜態或單身使用它等,你將遇到問題。 –