簡體   English   中英

ViewBag內存泄漏

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM