DbContext不充当PerWebRequest

时间:2016-09-07 08:49:23

标签: .net entity-framework castle-windsor

我在ASP.Net Web API项目中使用Entity Framework和Castle Windsor。

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

为了增加混淆,这只发生在特定环境中 - 调试,本地运行等不会导致:(

不能自由地分享很多代码,但如果有人对这方面的可能性有一些指示,我会很感激...

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我认为问题可能是您的依赖注入选择。通常在Web应用程序中,您希望每个请求周期获取一次数据库对象。 您可能希望在项目的启动类中查看ConfigureServices方法,并使用addScoped依赖注入,如此

services.AddScoped<NameofRepository, INameofinterface>()

应该做的伎俩。希望对你有用。祝你好运