繁体   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