【发布时间】:2014-07-17 14:47:32
【问题描述】:
我想知道引用(特别是在类级别定义的引用)何时超出 .net Web 应用程序的范围,以便更好地了解它们何时有资格进行垃圾收集。
目前我的代码如下所示:
public class SomeClass
{
Object object = new Object();
protected void Page_Load(object sender, EventArgs e)
{
// some code
}
}
object会在页面加载后超出范围(并有资格进行垃圾收集)还是在用户离开页面后?
我通常在 PHP 中创建 Web 应用程序,因此我猜想 object 在页面加载完成后将有资格进行 GC,因为它不知道用户何时离开页面。
【问题讨论】:
-
只有在没有更多对它的引用时才会对 GC 可用,在本例中是在页面请求完成之后。
-
谢谢詹姆斯。你知道是否有任何实例可以将 Page 放置在大型对象堆上,从而提升到 Gen 2 GC?
标签: c# asp.net garbage-collection