我想知道何时引用(特别是在类级别定义的引用)超出 .net Web 应用程序的范围,以便更好地了解它们何时有资格进行垃圾回收。
目前我有这样的代码:
public class SomeClass
{
Object object = new Object();
protected void Page_Load(object sender, EventArgs e)
{
// some code
}
}
object 会在页面加载后超出范围(并有资格进行垃圾回收)还是会在用户离开页面后离开?
我通常使用 PHP 创建 Web 应用程序,所以我猜测 object 在页面加载完成后有资格进行 GC,因为它不知道用户何时离开页面。
最佳答案
每当有请求时,ASP 都会创建一个新的 Page
对象,一旦将响应发回给用户,它就不会保留对该 Page
对象的引用,所以只要您自己没有找到某种方法来保留对该 Page
对象的实时引用,发送响应后,Page
和所有对象通过该页面可访问的内容有资格进行垃圾收集。
关于c# - 页面加载后对象是否符合垃圾回收条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24806748/