public class SingletonService
{
private readonly DbContext _dbContext;
public SingletonService(DbContext dbContext)
{
_dbContext = dbContext;
}
}
public class SomeController
{
private readonly SingletonService _singletonService;
private readonly DbContext _dbContext;
public SomeController(SingletonService singletonService, DbContext dbContext)
{
_singletonService = singletonService;
_dbContext = dbContext;
}
}
昨天晚上群里别人在讨论的问题,他们说这样注入会导致 SingletonService 里的 DbContext 释放不掉。我不是很理解,Singleton 每次运行都是同一个,SingletonService 里的 DbContext 永远只会创建一次,为什么会内存泄漏?
例子是 C#的,别的有依赖注入的语言应该也一样。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.