[英]ViewBag Memory Leaks
我有一個函數,它創建一個對象列表並返回它以存儲在ViewBag中。
代碼如下所示:
List<XDocument> xDocs = readXmlFiles(path);// a "new List<XDocument>()" is called
ViewBag.data = xDocs;
return View();
我的問題是,如果我們有這樣的代碼,垃圾收集器是否會為xDocs釋放分配的資源? 或者至少在處理同一視圖的新請求后將其釋放?
我的問題是,如果我們有這樣的代碼,垃圾收集器是否會為xDocs釋放分配的資源?
是的,它會釋放它。 一旦請求完成執行, ViewBag
將有資格進行垃圾收集。
或者至少在處理同一視圖的新請求后將其釋放?
垃圾收集發生的確切時間是您無法控制的。 CLR將選擇最合適的時刻來執行它。 這可能發生在下一個請求之前或之后。 由於您要為每個請求創建一個新集合,因此一旦不再有任何引用(即請求完成后),該集合將有資格進行垃圾回收。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.