我在一个ASP.Net Web API项目中使用了实体框架和Castle Windsor。
所有服务(包括上下文实现)等都配置有PerWebRequest lifestyle。然而,我发现上下文在某些情况下被重用了。这会导致过时的更新,这当然是不可接受的。
更令人困惑的是,这种情况只发生在特定的环境中-调试、本地运行等不会导致以下结果:(
不能自由地分享太多的代码,但如果任何人有一些关于这方面的可能性的指示将不胜感激……
发布于 2016-09-07 21:26:58
这不是问题。框架维护了要在同一线程上使用的上下文列表,该列表当然会与Castle Windsor配置发生冲突(并被覆盖)。
发布于 2016-09-07 17:35:47
我认为问题可能出在你的依赖注入选择上。通常,在web应用程序中,您希望在每个请求周期中获取一次数据库对象。您可能希望在项目的启动类中查看ConfigureServices方法,并使用addScoped依赖项注入,如下所示
services.AddScoped<NameofRepository, INameofinterface>()这应该能起到作用。希望这对你有用。祝好运
https://stackoverflow.com/questions/39365282
复制相似问题