我正在 Visual Studio 2015 RC 中运行 MVC 6 应用程序。当应用程序启动时, Debug模式下的内存使用量大约为 100mb。
当我单击任何后续链接并因此加载内存使用率上升且永不下降的 View 时,会出现问题,最终导致内存不足异常。下面显示了在一分钟左右的时间里点击一个非常简单的联系页面大约 10 次后的内存使用情况,每次内存使用量增加一点并且 10 分钟后没有下降,它仍然是 140mb。
联系页面 Controller 的代码:
public IActionResult Settings()
{
ViewBag.Message = "Your contact page.";
return View();
}
联系页面 View 的代码:
@{
ViewBag.Title = "Contact";
}
<h2>@ViewBag.Title.</h2>
<h3>@ViewBag.Message</h3>
<address>
One Microsoft Way<br />
Redmond, WA 98052-6399<br />
<abbr title="Phone">P:</abbr>
425.555.0100
</address>
<address>
<strong>Support:</strong> <a href="mailto:Support@example.com">Support@example.com</a><br />
<strong>Marketing:</strong> <a href="mailto:Marketing@example.com">Marketing@example.com</a>
</address>
对于小 View ,这似乎不是问题,但是在我的应用程序中加载列表页面时,使用量显着增加,并且在加载 5 或 6 个页面后,应用程序崩溃并出现内存不足异常。
我拍了几个内存使用情况的快照,这就是显示的内容。我试过调试以查看内存峰值的位置,并且似乎是在加载 View 时。
有没有人在新的 MVC 项目中遇到过这种情况?有没有办法找出占用内存的内容并释放它?抱歉,这很简单,我一直在绞尽脑汁想找出问题所在!
最佳答案
在 mvc github 上发布问题后,该团队报告说是浏览器链接功能导致了问题。
如果删除 app.UseBrowserLink();从 Startup.cs 类(默认类中的第 99 行),它将解决问题并大大加快应用程序的速度。
https://github.com/aspnet/Mvc/issues/2790
关于asp.net-mvc - MVC 6 应用程序在 View 加载后不释放内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30980948/