想象一下这种情况:你有一个单例对象和一个有一个指向这个单例的字段的类
public class MyClass
{
private readonly MySingleton singleton = MySingleton.Instance;
...
}
现在你有一个WebApi控制器,并且在每个请求中你都在创建MyClass类型的新对象。
我的问题是:这样的物体会发生什么?当请求结束时,它会被垃圾收集器删除吗?或者它会挂在记忆中,直到收集单身人士?
如果这是一个愚蠢的问题,请原谅我,但我很好奇。
答案 0 :(得分:1)
如果没有真正能够锁定对象的依赖关系,它将被收集。你只需要引用Singleton对象。
如果Singleton以某种方式保留了对你的控制器的反抗,那么你的控制器将被保留在内存中。