2016-09-07 31 views
0

我在一个ASP.Net Web API项目中使用Entity Framework和Castle Windsor。DbContext不充当PerWebRequest

所有服务(包括上下文实现)等均使用PerWebRequest生活方式进行配置。然而我发现上下文在某些情况下被重用。这导致陈旧的更新,这当然是不可接受的。

为了增加混乱,这种情况发生在一个特定的环境只有 - 调试,本地等运行不会导致这种不:(

随意共享的程序代码,但希望它,如果任何人有一些关于这种可能性的指针...

回答

0

我认为问题可能是你的依赖注入的选择,一般在Web应用程序中,你希望每个请求周期获取一次数据库对象 你可能想看看你的ConfigureServices方法,在你的项目的启动类中,并使用addScoped依赖注入,就像这样

services.AddScoped<NameofRepository, INameofinterface>() 

应该这样做。希望这对你有用。祝你好运

1

这是一个非问题。该框架保留了在同一个线程上使用的上下文列表,这当然与Castle Windsor配置发生冲突(并覆盖)。