我在ASP.Net Web API项目中使用Entity Framework和Castle Windsor。
所有服务(包括上下文实现)等都使用PerWebRequest生活方式进行配置。然而,我发现在某些情况下重用上下文。这导致过时的更新,这当然是不可接受的。
为了增加混淆,这只发生在特定环境中 - 调试,本地运行等不会导致:(
不能自由地分享很多代码,但如果有人对这方面的可能性有一些指示,我会很感激...
答案 0 :(得分:1)
这不是问题。该框架维护了一个在同一个线程上使用的上下文列表,当然这些内容与Castle Windsor配置发生冲突(并覆盖)..
答案 1 :(得分:0)
我认为问题可能是您的依赖注入选择。通常在Web应用程序中,您希望每个请求周期获取一次数据库对象。 您可能希望在项目的启动类中查看ConfigureServices方法,并使用addScoped依赖注入,如此
services.AddScoped<NameofRepository, INameofinterface>()
应该做的伎俩。希望对你有用。祝你好运