2016-09-07 26 views
0

我在一個ASP.Net Web API項目中使用Entity Framework和Castle Windsor。DbContext不充當PerWebRequest

所有服務(包括上下文實現)等均使用PerWebRequest生活方式進行配置。然而我發現上下文在某些情況下被重用。這導致陳舊的更新,這當然是不可接受的。

爲了增加混亂,這種情況發生在一個特定的環境只有 - 調試,本地等運行不會導致這種不:(

隨意共享的程序代碼,但希望它,如果任何人有一些關於這種可能性的指針...

回答

0

我認爲問題可能是你的依賴注入的選擇,一般在Web應用程序中,你希望每個請求週期獲取一次數據庫對象 你可能想看看你的ConfigureServices方法,在你的項目的啓動類中,並使用addScoped依賴注入,就像這樣

services.AddScoped<NameofRepository, INameofinterface>() 

應該這樣做。希望這對你有用。祝你好運

1

這是一個非問題。該框架保留了在同一個線程上使用的上下文列表,這當然與Castle Windsor配置發生衝突(並覆蓋)。